Встречается на собеседованиях • сегодня

Чем пользовался для оптимизации запросов в Django

Для оптимизации запросов в Django чаще всего использую:

  1. select_related — для жадной загрузки ForeignKey и OneToOne полей (JOIN в SQL).

    python
    Book.objects.select_related('author').all()  # Загружает автора вместе с книгой
  2. prefetch_related — для ManyToMany и обратных ForeignKey (отдельные запросы + Python-джойн).

    python
    Author.objects.prefetch_related('books').all()  # Оптимизирует загрузку книг автора
  1. only() и defer() — загрузка только нужных полей.

    python
    Book.objects.only('title', 'author__name')  # Только title и имя автора
  2. Индексы в моделяхdb_index=True для часто фильтруемых полей.

  3. annotate() и aggregate() — вычисления на стороне БД.

  4. Кешированиеdjango.core.cache для тяжёлых запросов.

Для анализа: django-debug-toolbar — показывает запросы и время выполнения.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы