Использовал prefetch_related как класс или метод

Python Junior Без компании
Использовал prefetch_related как класс или метод
Ответы
`prefetch_related` в Django — это метод QuerySet, а не класс. Он используется для оптимизации запросов при работе с обратными связями (ForeignKey, ManyToMany) или связанными объектами, уменьшая количество SQL-запросов. Пример: ``` from django.db import models class Author(models.Model): name = models.CharField(max_length=100) class Book(models.Model): title = models.CharField(max_length=100) author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='books') # Без prefetch_related — N+1 проблема authors = Author.objects.all() for author in authors: print(author.books.all()) # Отдельный запрос для каждого автора # С prefetch_related — 2 запроса authors = Author.objects.prefetch_related('books') for author in authors: print(author.books.all()) # Данные уже загружены ``` Ключевое отличие от `select_related`: `prefetch_related` делает отдельный запрос для связанных данных и объединяет их в Python, а не JOIN в SQL. Подходит для ManyToMany и обратных ForeignKey.