Gereksiz Tam Sütun Çekme (ARCH2066)
Anahtar python.orm.select-star-over-fetch · Önem info · Kategori orm
Sonradan yalnızca birkaç alan kullanılırken tüm entity’yi/tüm sütunları çekmek satır genişliğini ve serileştirme maliyetini gereksiz artırır. Bir projeksiyon kullanın.
Hatalı
Bölüm başlığı “Hatalı”def emails(): return [u.email for u in User.objects.all()] # tüm sütunlar çekildidef emails(): return list(User.objects.values_list("email", flat=True)) # sadece emailDüzeltme
Bölüm başlığı “Düzeltme”Yalnızca gereken alanları values() / values_list() projeksiyonuyla çekin.