Использовал ли prefetch

Python Junior Без компании
Использовал ли prefetch
Ответы
`prefetch_related` в Django оптимизирует запросы для связанных объектов, уменьшая количество SQL-запросов. Он полезен для `ManyToMany` и `ForeignKey` отношений, загружая связанные данные одним запросом. Пример: ``` # Без prefetch_related — N+1 проблема books = Book.objects.all() for book in books: print(book.author.name) # Отдельный запрос для каждого автора # С prefetch_related — 2 запроса books = Book.objects.prefetch_related('author').all() for book in books: print(book.author.name) # Данные уже в кэше ``` **Отличие от `select_related`:** - `select_related` работает для `ForeignKey` и `OneToOne`, используя `JOIN`. - `prefetch_related` — для `ManyToMany` и обратных `ForeignKey`, выполняя отдельный запрос и объединяя результаты в Python. **Важно:** - Избегай избыточного префетчинга. - Для кастомных менеджеров/кверисетов используй `Prefetch()` для тонкой настройки.