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