Menu
CoddyTech

Urutan Default

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

Buku-bukumu dikembalikan tanpa urutan yang pasti: urutannya mengikuti apa pun yang diberikan database. Sebuah model dapat menetapkan urutan satu kali untuk setiap query yang tidak meminta urutan lain. Opsi untuk seluruh model, bukan hanya satu field, ditulis dalam class di dalamnya yang bernama Meta:

class Movie(models.Model):
    ...

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

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

challenge icon

Tantangan

Mudah
  • Urutkan buku berdasarkan judul dari A sampai Z setiap kali tidak ada urutan yang diminta.

Tekan Jalankan dan buka tab Data: keempat buku tercantum dari A sampai Z. Book.objects.all() di tab Shell menampilkan urutan yang sama.

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