Menu
CoddyTech

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

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

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

class Movie(models.Model):
    ...

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

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

challenge icon

אתגר

קל
  • הצג את הספרים בסדר הכותרות, מא׳ עד ת׳, בכל פעם שלא מתבקשת דרך מיון אחרת.

לחץ על Run ופתח את הכרטיסייה Data: ארבעת הספרים מופיעים בסדר מא׳ עד ת׳. Book.objects.all() בכרטיסייה Shell מציג את אותו הסדר.

נסו בעצמכם

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 אונליין