Встречается на собеседованиях • сегодня
Когда QuerySet выполняет запросы к БД
QuerySet в Django ленив — запрос к БД выполняется только при необходимости. Это происходит в следующих случаях:
- Итерация по QuerySet (например, в цикле
for). - Срезы с указанием шага (
[::2]), но не простые срезы ([:5]). - Вызов
len(),list(),bool()или проверка вif. - Сериализация (например, при рендеринге шаблона).
- Явный вызов
exists(),count(),get()илиfirst().
Пример:
python
# Запрос не выполнен
qs = MyModel.objects.filter(active=True)
# Запрос выполнится здесь
for obj in qs:
print(obj.name)
# И здесь (новый запрос)
active_count = qs.count()Ленивая загрузка позволяет комбинировать цепочки фильтров без лишних запросов.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы