Встречается на 1% собеседований по Python
Какие методы QuerySet отправляют запросы к БД
QuerySet в Django ленив — запросы к БД выполняются только при явном вызове методов, требующих данных. Основные методы, вызывающие запрос:
1. Итерация
python
for obj in MyModel.objects.all(): # Запрос выполняется здесь
print(obj)2. Срезы с шагом
python
qs = MyModel.objects.all()[5:10] # Ленивый (не выполняется)
qs = MyModel.objects.all()[5:10:2] # Выполняется (шаг)3. Методы оценки
list(qs)bool(qs)(если QuerySet пуст)len(qs)(если не использоватьcount())qs.exists()
4. Методы агрегации
qs.count()qs.aggregate()qs.get(),qs.first(),qs.last()
5. Сериализация
repr(qs)(в консоли Django)str(qs.query)
Пример:
python
qs = MyModel.objects.filter(name__startswith='A') # Нет запроса
print(qs) # Запрос выполнится
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы