Встречается на собеседованиях • сегодня
Какие методы 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
интервью вопросы и ответы