How do you fix an N+1 query problem in Django?
1 2 3 4 5 6 7 8 9 10 11 12 13 | # ====================================================================== # Q: How do you fix an N+1 query problem in Django? # ====================================================================== from django.db.models import Prefetch orders = (Order.objects .select_related('customer') # JOIN (FK / OneToOne) .prefetch_related( Prefetch('items', queryset=OrderItem.objects.select_related('product'))) [:100]) # Total: 2 queries (orders JOIN customer, items JOIN product WHERE order_id IN (...)) |