Встречается на 2% собеседований по Python
Что такое QuerySet в Django
QuerySet в Django — это лениво оцениваемая (lazy) коллекция объектов модели, представляющая набор записей из базы данных. Он позволяет строить сложные запросы к БД, объединяя методы фильтрации, сортировки и агрегации, без немедленного выполнения запроса.
Ключевые особенности:
- Ленивая загрузка: запрос выполняется только при явном обращении к данным (итерация, срез, вызов
list()и т.д.). - Цепочка методов: методы (
filter(),exclude(),order_by()) можно объединять. - Неизменяемость: каждый метод возвращает новый QuerySet.
Пример:
python
# Создание QuerySet (запрос еще не выполнен)
books = Book.objects.filter(author='Достоевский').order_by('-published_date')
# Запрос выполнится при итерации
for book in books:
print(book.title)
# Или при явном преобразовании
book_list = list(books)Методы:
filter()/exclude()— условия WHERE.annotate()— добавление вычисляемых полей.select_related()/prefetch_related()— оптимизация JOIN и связанных объектов.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы