Встречается на собеседованиях • сегодня
Что такое select_related() в Django
select_related() — это метод QuerySet в Django, который оптимизирует запросы к базе данных, выполняя SQL JOIN для связанных объектов (ForeignKey, OneToOne). Это уменьшает количество запросов при обращении к связанным полям.
Пример без select_related():
python
books = Book.objects.all()
for book in books:
print(book.author.name) # Отдельный запрос для каждого автораПример с select_related():
python
books = Book.objects.select_related('author').all()
for book in books:
print(book.author.name) # Автор уже загружен в одном запросеОсобенности:
- Работает только с "один-ко-многим" и "один-к-одному"
- Увеличивает размер результата, так как JOIN добавляет данные
- Не работает с ManyToMany (для этого есть
prefetch_related)

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