Menu
CoddyTech

Ordinamento predefinito

Fa parte della sezione Modelli e pannello di amministrazione del percorso Django di Coddy. Lezione 6 di 23.

I tuoi libri tornano in un ordine non garantito: quello che restituisce il database. Un modello può impostare l’ordinamento una volta per tutte le query che non ne richiedono uno diverso. Le opzioni per l’intero modello, anziché per un singolo campo, vanno in una classe interna chiamata Meta:

class Movie(models.Model):
    ...

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

ordering è un elenco di nomi di campi. Un nome da solo ordina dal più piccolo al più grande, dalla A alla Z per il testo; un segno meno davanti ordina nel senso opposto, quindi questo elenco mostra prima i film più recenti. Il secondo nome risolve i pari merito: i film usciti lo stesso giorno vengono ordinati dalla A alla Z.

challenge icon

Sfida

Facile

In books/models.py, fai in modo che i libri vengano restituiti in ordine di titolo, dalla A alla Z, quando non viene richiesto alcun ordinamento.

Premi «Esegui» e digita Book.objects.all() nella scheda Shell: Dune viene per primo e The Hobbit per ultimo.

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Modelli e pannello di amministrazione

Esercitati da solo: Playground Django