Встречается на собеседованиях • сегодня

Зачем нужна прокси модель в Django

Прокси-модель в Django позволяет создавать подкласс существующей модели без изменения структуры базы данных. Она использует ту же таблицу, что и родительская модель, но может изменять поведение: добавлять методы, менять менеджер, сортировку или мета-опции.

Основные случаи использования:

  1. Добавление методов для удобства работы с данными
  2. Изменение порядка сортировки (ordering)
  3. Подмена менеджера модели (objects)

Пример:

python
class User(models.Model):
    name = models.CharField(max_length=100)
    is_active = models.BooleanField(default=True)

class ActiveUser(User):
    class Meta:
        proxy = True
        ordering = ['name']
    
    objects = ActiveUserManager()  # Кастомный менеджер
    
    def greet(self):
        return f"Hello, {self.name}!"

В этом примере ActiveUser работает с той же таблицей, что и User, но имеет свои особенности.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы