İçeriğe geç

Döngüde Lazy Load (ARCH2059)

Anahtar python.orm.lazy-load-in-loop · Önem warning · Kategori orm

Dolaşılan her eleman üzerinde lazy yüklenen bir ilişkiye erişmek, eager load atlandığında N+1’in çalışma anındaki tetikleyicisidir. İlişkiyi önceden yükleyin.

for book in Book.objects.all():
print(book.author.name) # her book için lazy SELECT
for book in Book.objects.select_related("author"):
print(book.author.name) # author tek JOIN ile geldi

Döngüde erişilen ilişkiyi select_related / prefetch_related ile eager yükleyin.