Встречается на собеседованиях • сегодня
Чем пользовался для оптимизации запросов в Django
Для оптимизации запросов в Django чаще всего использую:
-
select_related— для жадной загрузки ForeignKey и OneToOne полей (JOIN в SQL).pythonBook.objects.select_related('author').all() # Загружает автора вместе с книгой -
prefetch_related— для ManyToMany и обратных ForeignKey (отдельные запросы + Python-джойн).pythonAuthor.objects.prefetch_related('books').all() # Оптимизирует загрузку книг автора
-
only()иdefer()— загрузка только нужных полей.pythonBook.objects.only('title', 'author__name') # Только title и имя автора -
Индексы в моделях —
db_index=Trueдля часто фильтруемых полей. -
annotate()иaggregate()— вычисления на стороне БД. -
Кеширование —
django.core.cacheдля тяжёлых запросов.
Для анализа: django-debug-toolbar — показывает запросы и время выполнения.

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