Запросы к базе данных при использовании QuerySet происходят в несколько ключевых моментов, а не при самом создании QuerySet. Это связано с "ленивой" природой работы QuerySet.
Основные сценарии выполнения запросов:
for
или используете функции, такие как list()
, tuple()
, set()
.queryset[start:end]
) без шага (queryset[start:end:step]
). Запрос выполняется для получения запрошенного диапазона объектов. Cрезы с отрицательным шагом или шагом отличным от 1 приводят к выполнению запроса для всего QuerySet, а затем к обработке в Python.str(queryset)
или repr(queryset)
.if queryset:
). Запрос выполняется, чтобы проверить наличие хотя бы одной записи.count()
, sum()
, avg()
, max()
, min()
и других функций агрегации.get()
, first()
, `Запросы к базе данных при использовании QuerySet происходят в несколько ключевых моментов, а не при самом создании QuerySet. Это связано с "ленивой" природой работы QuerySet.
Основные сценарии выполнения запросов:
for
или используете функции, такие как list()
, tuple()
, set()
.queryset[start:end]
) без шага (queryset[start:end:step]
). Запрос выполняется для получения запрошенного диапазона объектов. Cрезы с отрицательным шагом или шагом отличным от 1 приводят к выполнению запроса для всего QuerySet, а затем к обработке в Python.str(queryset)
или repr(queryset)
.if queryset:
). Запрос выполняется, чтобы проверить наличие хотя бы одной записи.count()
, sum()
, avg()
, max()
, min()
и других функций агрегации.get()
, first()
, `Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.