عدّ الصفوف
جزء من قسم النماذج ولوحة الإدارة في رحلة 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على الرف.
اضغط على Run. تعرض وحدة التحكم Science fiction: 3 وAny Tolkien: True.
جرّب بنفسك
from books.models import Book
# 1. الخيال العلمي: كم عدد كتب الخيال العلمي الموجودة
# 2. أي كتاب لتولكين: هل يوجد على الرف كتاب من تأليف J.R.R. Tolkien
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس النماذج ولوحة الإدارة
2الاستعلام باستخدام ORM
إنشاء الصفوفAll وGetالتصفية وعمليات البحثعدّ الصفوفترتيب الصفوفالتحديث والحذفتدرّب بنفسك: Playground لـ Django