تخطَّ إلى المحتوى

count()

عدّ النتائج count()

count() تُرجع عدد السجلات المطابقة كرقم صحيح — أكفأ بكثير من len(queryset) لأنها تُنفَّذ كاستعلام COUNT بقاعدة البيانات مباشرة.

الفرق الجوهري عن len(): count() لا تُحمِّل السجلات فعليًا للذاكرة إطلاقًا، فقط تطلب العدد من قاعدة البيانات — أداء أفضل بكثير لجداول كبيرة.

الصياغة

Model.objects.filter(...).count()

📄 مثال

published_count = Post.objects.filter(status="published").count()
print(published_count)

💡 نصائح عملية

  • استخدم count() دائمًا بدل len(queryset) عندما تحتاج العدد فقط دون البيانات نفسها

⚠️ أخطاء شائعة

  • استخدام len(Model.objects.filter(...)) — يُحمِّل كل السجلات للذاكرة فقط لعدّها، تبذير موارد

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار DJANGO الكامل بالعربي.