Orden predeterminado
Parte de la sección Modelos y el panel de administración del Journey de Django de Coddy. Lección 6 de 23.
Tus libros vuelven sin ningún orden garantizado: el que proporcione la base de datos. Un modelo puede establecer el orden una sola vez, para todas las consultas que no soliciten otro. Las opciones para todo el modelo, en lugar de para un solo campo, van en una clase interna llamada Meta:
class Movie(models.Model):
...
class Meta:
ordering = ["-released", "title"]ordering es una lista de nombres de campos. Un nombre sin más ordena de menor a mayor, de la A a la Z para el texto; un signo menos delante ordena en sentido contrario, así que esto muestra primero las películas más recientes. El segundo nombre deshace los empates: las películas estrenadas el mismo día aparecen de la A a la Z.
Desafío
Fácil- Haz que los libros aparezcan en orden por título, de la A a la Z, cuando no se solicite ningún orden.
Pulsa Run y abre la pestaña Data: los cuatro libros aparecen de la A a la Z. Book.objects.all() en la pestaña Shell muestra el mismo orden.
Pruébalo tú mismo
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}"
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Modelos y el panel de administración
1Tu primer modelo
Tu primer modeloTipos de campos3Páginas desde la base de datos
Una lista desde la base de datosUna página para cada libroPractica por tu cuenta: Playground de Django