Карточка Junior Django ORM и N+1 спрашивают часто обновлено

Когда выполняется QuerySet

Вопрос

Какие операции заставляют QuerySet выполнить SQL?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

Итерация, list(), len(), bool()/if qs, repr (в консоли), срез с шагом, индекс qs[0], а также методы get, first, count, exists, aggregate, которые сразу делают свой запрос.

Ответ

Итерация, list(), len(), bool()/if qs, repr (в консоли), срез с шагом, индекс qs[0], а также методы get, first, count, exists, aggregate, которые сразу делают свой запрос.

Разбор

Фильтры, order_by, annotate, select_related только строят запрос. Результат выполнения кешируется в объекте QuerySet.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.