Use select_related for Optimization

A snippet showing how to optimize queries with select_related.


# views.py

from django.shortcuts import render
from .models import Book

def book_list(request):
    books = Book.objects.select_related("author").all()
    return render(request, "books.html", {"books": books})
      
Explanation:
  • select_related retrieves related author data in the same database query as the books.
  • Prevents the "N+1 query" problem, so each book access does not trigger an extra query.
  • Greatly improves performance when accessing related objects in templates or views.
Never miss a story on Django.wiki

Subscribe for fresh tutorials, snippets, and updates.

By subscribing you agree to our Privacy Policy.