Menu
CoddyTech

מיון רשומות

חלק מהיחידה מודלים וממשק הניהול במסלול ה-Django של Coddy. שיעור 11 מתוך 23.

הספר הזול ביותר, הספר החדש ביותר, כל הכותרים מהישן לחדש: כל אחד מהם הוא שאלה על סדר. order_by() ממיינת QuerySet אחד לפי שדה, כפי ש-ordering בתוך Meta עושה עבור כולם, וסימן מינוס ממיין מהגבוה לנמוך. first() מחזירה את השורה הראשונה, או None כשאין שורות, ולכן בניגוד ל-get() היא לעולם לא מעלה חריגה:

Book.objects.order_by("-year").first()   # <Book: SPQR by Mary Beard>
Book.objects.order_by("-price").values_list("author", flat=True)
# <QuerySet ['Mary Beard', 'Umberto Eco', ...]>

values_list() מדלגת על אובייקטי Book ומחזירה את הערכים של שדה אחד. בלי flat=True, כל ערך מופיע בתוך טאפל עם איבר אחד, כמו ('Mary Beard',).

challenge icon

אתגר

בינוני

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

  1. Cheapest: ואת הכותרת של הספר הזול ביותר.
  2. Titles by year: ורשימה של כל הכותרות, מהספר הישן ביותר לחדש ביותר.

לחצו על Run. במסוף מופיעים Cheapest: Pride and Prejudice ו-Titles by year: ['Pride and Prejudice', 'Emma', ...].

נסו בעצמכם

from books.models import Book

# 1. הזול ביותר: שם הספר הזול ביותר

# 2. שמות ספרים לפי שנה: כל שמות הספרים, מהספר הישן ביותר תחילה, כרשימה

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

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