Ordre par défaut
Fait partie de la section Modèles et interface d’administration du Journey Django de Coddy. Leçon 6 sur 23.
Vos livres reviennent dans un ordre qui n’est pas garanti : celui que fournit la base de données. Un modèle peut définir l’ordre une fois pour toutes les requêtes qui n’en demandent pas un autre. Les options qui s’appliquent à tout le modèle, plutôt qu’à un seul champ, se placent dans une classe interne nommée Meta :
class Movie(models.Model):
...
class Meta:
ordering = ["-released", "title"]ordering est une liste de noms de champs. Un nom seul trie dans l’ordre croissant, de A à Z pour le texte ; un signe moins placé devant trie dans l’autre sens, de sorte que cette liste affiche les films les plus récents en premier. Le deuxième nom départage les égalités : les films sortis le même jour sont classés de A à Z.
Défi
Facile- Affiche les livres par ordre alphabétique de titre, de A à Z, lorsqu’aucun ordre n’est demandé.
Clique sur Run et ouvre l’onglet Data : les quatre livres sont affichés de A à Z. Book.objects.all() dans l’onglet Shell affiche le même ordre.
Essayez vous-même
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}"
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Modèles et interface d’administration
1Votre premier modèle
Votre premier modèleTypes de champs3Des pages issues de la base de données
Une liste issue de la base de donnéesUne page pour chaque livreEntraînez-vous par vous-même : Playground Django