Menu
CoddyTech

ספירת רשומות

חלק מהיחידה מודלים וממשק הניהול במסלול ה-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, וזה איטי בטבלה גדולה.

challenge icon

אתגר

קל

כתבו מחדש את explore.py כך שידפיס שתי שורות:

  1. Science fiction: ואת מספר ספרי המדע הבדיוני.
  2. Any Tolkien: והאם יש על המדף ספר מאת J.R.R. Tolkien.

לחצו על "שחק": במסוף יופיעו Science fiction: 3 ו-Any Tolkien: True.

נסו בעצמכם

from books.models import Book

# 1. מדע בדיוני: כמה ספרי מדע בדיוני יש

# 2. ספר כלשהו של טולקין: האם יש על המדף ספר מאת J.R.R. Tolkien
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה מודלים וממשק הניהול

תרגלו בעצמכם: Django אונליין