Встречается на собеседованиях • сегодня
Был ли опыт использования prefetch_related, exists и подзапросы (Subquery) в Django
Да, опыт есть.
prefetch_related – оптимизирует загрузку связанных объектов (ManyToMany, ForeignKey) одним запросом, уменьшая количество обращений к БД:
python
books = Book.objects.prefetch_related('authors') # Загружает авторов для всех книг сразуexists() – проверяет наличие записей без загрузки данных, эффективнее, чем if queryset:
python
if Book.objects.filter(title='Django').exists(): # Быстрая проверкаSubquery – позволяет встраивать подзапросы в основной запрос, например, для аннотаций:
python
from django.db.models import OuterRef, Subquery
latest_comments = Comment.objects.filter(book=OuterRef('pk')).order_by('-created_at')
books = Book.objects.annotate(
last_comment=Subquery(latest_comments.values('text')[:1]
) Использование этих методов помогает избегать N+1 проблем и оптимизировать запросы.

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