Назад к вопросам
Junior — Middle
66
Какие функции QuerySet инициируют выполнение SQL-запросов к базе данных?
Ответ от нейросети
sobes.tech AI
В Django QuerySet ленивый — SQL-запрос к базе данных выполняется только тогда, когда данные действительно нужны. Функции и операции, которые инициируют выполнение запроса, включают:
- Итерация по QuerySet (например, цикл
for) - Вызов методов, возвращающих список или отдельный объект:
list(),get(),first(),last() - Методы агрегации:
count(),exists(),aggregate() - Преобразование в другие структуры:
values(),values_list() - Принудительное кэширование:
len()
Пример:
qs = MyModel.objects.filter(active=True) # запрос еще не выполнен
count = qs.count() # здесь выполняется SQL-запрос COUNT
for obj in qs: # здесь выполняется SELECT
print(obj)