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

Что такое кастомный менеджер модели в Django

Кастомный менеджер модели в Django — это класс, наследуемый от django.db.models.Manager, который позволяет переопределить стандартные методы (например, get_queryset()) или добавить новые для работы с моделями.

Пример:

python
from django.db import models

class ActiveManager(models.Manager):
    def get_queryset(self):
        return super().get_queryset().filter(is_active=True)

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

text
objects = models.Manager()  # Стандартный менеджер
active = ActiveManager()    # Кастомный менеджер
text

**Использование:**  
```python
Product.objects.all()  # Все продукты  
Product.active.all()   # Только активные  

Зачем нужно:

  • Фильтрация по умолчанию (например, только активные записи).
  • Добавление часто используемых методов (например, by_category(category_id)).
  • Переиспользование сложных запросов.

Важно: если переопределить get_queryset(), стандартный objects тоже изменится, поэтому часто добавляют его явно (objects = models.Manager()).

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

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

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

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