Use prefetch_related for Many-to-Many
A snippet showing how to use prefetch_related for performance.
# views.py
from django.shortcuts import render
from .models import Author
def author_list(request):
authors = Author.objects.prefetch_related("books").all()
return render(request, "authors.html", {"authors": authors})
Explanation:
- prefetch_related efficiently loads many-to-many and reverse foreign key relations in a minimal number of database queries.
- Greatly reduces the number of queries (prevents N+1 problem) when you access related objects in views or templates.
- Especially helpful for lists displaying related objects, such as a list of authors and their books.
- Category Performance & Optimization
- Total Views 807
- Last Modified 26 April, 2026
- Tags #performance #prefetch_related #queries #optimization
Previous snippet
Use select_related for Optimization
Next snippet