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

Как обратиться к Manager в Django

В Django Manager — это интерфейс, через который выполняются запросы к базе данных. По умолчанию для каждой модели доступен objects, но можно создать кастомный менеджер.

Пример базового использования:

python
from django.db import models

class MyModel(models.Model):
    name = models.CharField(max_length=100)
    
    # Обращение к стандартному менеджеру
    MyModel.objects.all()  # Получить все записи

Кастомный менеджер:

python
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)
    
    objects = models.Manager()  # Стандартный менеджер
    active = ActiveManager()    # Кастомный менеджер

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

Важно:

  • Если переопределить objects, стандартный менеджер будет заменён
  • Можно наследовать от models.Manager или django.db.models.manager.BaseManager
  • Методы менеджера должны возвращать QuerySet
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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