What does an N+1 query problem look like in Django code?
1 2 3 4 5 6 7 8 9 10 11 12 | # ====================================================================== # Q: What does an N+1 query problem look like in Django code? # ====================================================================== # models: Order -> Customer (FK), Order -> OrderItem (reverse FK) -> Product (FK) orders = Order.objects.all()[:100] # 1 query for o in orders: print(o.customer.name) # +100 queries (1 per order) for item in o.items.all(): # +100 queries print(item.product.title) # +1 per item (e.g. +500) # Total: ~701 queries |