Menu
CoddyTech

Standardreihenfolge

Teil des Abschnitts Modelle und Admin-Bereich der Django-Journey von Coddy. Lektion 6 von 23.

Deine Bücher kommen in keiner zugesicherten Reihenfolge zurück: in der Reihenfolge, die die Datenbank vorgibt. Ein Modell kann die Reihenfolge einmal für jede Abfrage festlegen, die keine andere verlangt. Optionen für das gesamte Modell statt für ein einzelnes Feld kommen in eine innere Klasse namens Meta:

class Movie(models.Model):
    ...

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

ordering ist eine Liste von Feldnamen. Ein Name allein sortiert aufsteigend, bei Text von A bis Z; ein vorangestelltes Minuszeichen sortiert in die andere Richtung, sodass diese Liste die neuesten Filme zuerst aufführt. Der zweite Name löst Gleichstände auf: Filme, die am selben Tag erschienen sind, werden von A bis Z sortiert.

challenge icon

Aufgabe

Einfach

Sorge in books/models.py dafür, dass Bücher standardmäßig in Titelreihenfolge von A bis Z zurückgegeben werden, wenn keine Sortierung angegeben ist.

Klicke auf „Run“ und gib im Tab „Shell“ Book.objects.all() ein: Dune steht zuerst und The Hobbit zuletzt.

Probier es selbst

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 iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Modelle und Admin-Bereich

Übe selbstständig: Django-Playground