عدّ الصفوف
جزء من قسم النماذج ولوحة الإدارة في رحلة Django على Coddy. الدرس 10 من 23.
لمعرفة عدد كتب الخيال العلمي التي تملكها، يمكنك تحميلها كلها وإحصاءها في Python. قاعدة البيانات تُحصيها بسرعة أكبر. ينفّذ كلٌّ من هذه الاستعلامات استعلامًا صغيرًا واحدًا ويعيد إجابة واحدة:
Book.objects.filter(is_read=True).count() # 1
Book.objects.filter(price__gt=20).exists() # False
len(Book.objects.all()) # 9، بعد تحميل جميع الصفوف الـ9تعيد count() عدد الصفوف المطابقة. تعيد exists() القيمة True عندما يطابق صف واحد على الأقل، وFalse عندما لا يطابق أي صف. تأتي كلتاهما في نهاية QuerySet، بعد filter() أو exclude(). تعطي len() العدد نفسه الذي تعطيه count()، ولكن بعد أن يصل كل صف إلى Python، وهذا بطيء في جدول كبير.
التحدي
سهلأعِد كتابة explore.py لطباعة سطرين:
Science fiction:وعدد كتب الخيال العلمي الموجودة.Any Tolkien:وما إذا كان هناك كتاب للمؤلفJ.R.R. Tolkienعلى الرف.
اضغط «تشغيل»: تعرض وحدة التحكم Science fiction: 3 وAny Tolkien: True.
جرّب بنفسك
from books.models import Book
# 1. الخيال العلمي: كم عدد كتب الخيال العلمي الموجودة
# 2. أي كتاب لتولكين: ما إذا كان هناك كتاب من تأليف J.R.R. Tolkien على الرف
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس النماذج ولوحة الإدارة
2الاستعلام باستخدام ORM
إنشاء الصفوفAll وGetالتصفية وعمليات البحثعدّ الصفوفترتيب الصفوفالتحديث والحذفتدرّب بنفسك: Playground لـ Django