Menu
CoddyTech

סדר ברירת המחדל

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

הספרים שלך חוזרים ללא סדר מובטח: לפי מה שמסד הנתונים מחזיר. מודל יכול לקבוע את הסדר פעם אחת, עבור כל שאילתה שלא מבקשת סדר אחר. אפשרויות שחלוֹת על המודל כולו, ולא על שדה אחד, מופיעות במחלקה פנימית בשם Meta:

class Movie(models.Model):
    ...

    class Meta:
        ordering = ["-released", "title"]

ordering היא רשימה של שמות שדות. שם לבדו ממיין מהנמוך לגבוה, מא׳ עד ת׳ בטקסט; סימן מינוס לפניו ממיין בכיוון ההפוך, ולכן הרשימה הזו מציגה קודם את הסרטים החדשים ביותר. השם השני שובר שוויון: סרטים שיצאו באותו יום מסודרים מא׳ עד ת׳.

challenge icon

אתגר

קל

ב־books/models.py, דאג לכך שהספרים יופיעו לפי סדר הכותרות, מא׳ עד ת׳, כשלא מבקשים סדר מסוים.

לחץ על "הפעלה" והקלד Book.objects.all() בכרטיסייה Shell: הספר Dune יופיע ראשון ו־The Hobbit אחרון.

נסו בעצמכם

from django.db import models


class Book(models.Model):
    class Genre(models.TextChoices):
        FICTION = "fiction", "Fiction"
        SCIFI = "scifi", "Science fiction"
        MYSTERY = "mystery", "Mystery"
        HISTORY = "history", "History"

    title = models.CharField(max_length=200)
    author = models.CharField(max_length=100)
    year = models.IntegerField()
    price = models.DecimalField(max_digits=6, decimal_places=2)
    is_read = models.BooleanField(default=False)
    finished = models.DateField(null=True, blank=True)
    summary = models.TextField(blank=True)
    genre = models.CharField(max_length=20, choices=Genre, default=Genre.FICTION)

    def __str__(self):
        return f"{self.title} by {self.author}"
quiz iconבחנו את עצמכם

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

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

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