Menu
CoddyTech

Urutan Default

Termasuk bagian Model dan Admin dalam perjalanan Django di Coddy. Pelajaran 6 dari 23.

Buku-bukumu kembali tanpa urutan yang dijanjikan, sesuai urutan yang diberikan database. Model dapat menetapkan urutannya satu kali untuk setiap query yang tidak meminta urutan lain. Opsi untuk seluruh model, bukan hanya satu field, diletakkan dalam class bagian dalam bernama Meta:

class Movie(models.Model):
    ...

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

ordering adalah list nama field. Nama saja akan mengurutkan dari nilai terkecil ke terbesar, A sampai Z untuk teks; tanda minus di depannya mengurutkan dengan arah sebaliknya, sehingga daftar ini menampilkan film terbaru lebih dahulu. Nama kedua menentukan urutan jika ada nilai yang sama: film yang dirilis pada hari yang sama diurutkan dari A sampai Z.

challenge icon

Tantangan

Mudah

Di books/models.py, atur agar buku ditampilkan berdasarkan urutan judul, dari A sampai Z, setiap kali tidak diminta urutan tertentu.

Tekan Jalankan lalu ketik Book.objects.all() di tab Shell: Dune muncul pertama dan The Hobbit terakhir.

Coba sendiri

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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Model dan Admin

Latihan sendiri: Playground Django