Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Меню
Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Как оптимизировать запрос для отчета по наличию книг в магазинах (N+1 problem)?

Проверяет умение решать проблему N+1 — частую ошибку, когда приложение делает избыточное количество запросов к базе данных.

Короткий ответ

Проблема N+1 возникает, когда для каждого объекта в списке (N) делается отдельный запрос (+1 начальный). В Django её решают с помощью select_related (для ForeignKey) или prefetch_related (для ManyToMany). Это объединяет запросы, уменьшая их количество с N+1 до 1-2.

Длинный ответ

Зарегистрироваться

Развернутый ответ доступен только зарегистрированным пользователям.

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Django

    Django

Ключевые слова

#orm

#optimization

#query

#n+1

Подпишись на Python Developer в телеграм