Встречается на собеседованиях • сегодня
Работал ли с prefetch
Да, работал. Prefetch в Django используется для оптимизации запросов к БД, уменьшая количество SQL-запросов при обращении к связанным объектам.
Пример:
python
# Без prefetch - 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) # Авторы загружены одним запросом
text
**Нюансы:**
- `prefetch_related` эффективен для `ManyToMany` и `ForeignKey` (обратные связи).
- Для `ForeignKey` (прямые связи) лучше использовать `select_related`.
- Можно кастомизировать через `Prefetch()` для сложных случаев.
**Важно:** Prefetch не уменьшает общее количество строк в БД, но сокращает количество запросов.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы