Ir al contenido

Missing Eager Load (ARCH2051)

Esta página aún no está disponible en tu idioma.

Key python.orm.missing-eager-load · Severity warning · Category orm

Iterating over related navigation data without select_related / prefetch_related triggers N+1 queries at runtime. Eager loading is the canonical prevention.

orders = Order.objects.filter(status="paid")
for order in orders:
total = sum(item.price for item in order.items.all()) # a SELECT per order
orders = Order.objects.filter(status="paid").prefetch_related("items")
for order in orders:
total = sum(item.price for item in order.items.all()) # loaded up front

Add prefetch_related or select_related to the query before iterating over the relation.