Count Yerine Exists (ARCH2063)
Anahtar python.orm.count-vs-exists · Önem info · Kategori orm
Satır var mı diye count() > 0 kullanmak tüm satırları saydırır; exists() ilk satırda durarak çok daha ucuza aynı sonucu verir.
Hatalı
Bölüm başlığı “Hatalı”if User.objects.filter(email=email).count() > 0: raise ValueError("kayıtlı") # gereksiz tam sayımif User.objects.filter(email=email).exists(): raise ValueError("kayıtlı") # ilk satırda dururDüzeltme
Bölüm başlığı “Düzeltme”Varlık kontrolünde count() > 0 yerine kısa devre yapan exists() kullanın.