Junior — Middle
98
Quais funções do QuerySet iniciam a execução de consultas SQL ao banco de dados?
Resposta da IA
sobes.tech IA
В 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)