Varsayılan Sıralama
Coddy'nin Django Journey'sinin Modeller ve Yönetim Paneli bölümünün bir parçası. Ders 6 / 23.
Kitaplarınız, veritabanının verdiği sırayla, önceden belirlenmiş bir düzen olmadan geri gelir. Bir model, başka bir sıralama istemeyen her sorgu için sıralamayı bir kez belirleyebilir. Tek bir alan için değil, modelin tamamı için geçerli seçenekler, Meta adlı bir iç sınıfa yazılır:
class Movie(models.Model):
...
class Meta:
ordering = ["-released", "title"]ordering, alan adlarından oluşan bir listedir. Tek başına kullanılan bir ad, küçükten büyüğe sıralar; metinlerde A'dan Z'ye sıralama yapar. Başına eksi işareti eklemek sıralamayı tersine çevirir; bu nedenle bu örnek en yeni filmleri önce listeler. İkinci ad, eşitlikleri bozar: aynı gün gösterime giren filmler A'dan Z'ye sıralanır.
Görev
Kolay- Herhangi bir sıralama belirtilmediğinde kitapları her zaman başlığa göre A'dan Z'ye sıralayın.
Çalıştır'a basın ve Veri sekmesini açın: dört kitap A'dan Z'ye sıralanmış olarak listelenir. Shell sekmesindeki Book.objects.all() aynı sıralamayı gösterir.
Kendin dene
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}"
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Modeller ve Yönetim Paneli bölümündeki tüm dersler
1İlk Modeliniz
İlk ModelinizAlan TürleriKendi başına pratik yap: Django playground