Satırları Sıralama
Coddy'nin Django Journey'sinin Modeller ve Yönetim Paneli bölümünün bir parçası. Ders 11 / 23.
En ucuz kitabı, en yenisini veya eskiden yeniye tüm kitap adlarını bulmak için önce kitapları sıralamak gerekir. order_by(), bir QuerySet'i bir alana göre sıralar; Meta içindeki ordering ise hepsini sıralar ve eksi işareti büyükten küçüğe sıralar. first() ilk satırı döndürür; satır yoksa None döndürür, bu nedenle get()'ten farklı olarak hiçbir zaman hata vermez:
Book.objects.order_by("-year").first() # <Book: SPQR by Mary Beard>
Book.objects.order_by("-price").values_list("author", flat=True)
# <QuerySet ['Mary Beard', 'Umberto Eco', ...]>values_list("author", flat=True), Book nesnelerini atlar ve değerleri olduğu gibi döndürür: 'Mary Beard'. flat=True olmadan her değer tek öğeli bir demet içinde gelir: ('Mary Beard',).
Görev
Ortaexplore.py dosyasını iki satır yazdıracak şekilde yeniden yaz:
Cheapest:ve en ucuz kitabın başlığı.Titles by year:ve tüm başlıkların listesi; en eski kitap ilk sırada olacak. Listenin kendisini yazdır.
“Oyna” düğmesine bas: Konsol’da Cheapest: Pride and Prejudice, ardından Titles by year: ['Pride and Prejudice', 'Emma', 'The Murder of Roger Ackroyd', 'The Hobbit', 'Foundation', 'Dune', 'The Name of the Rose', 'Neuromancer', 'SPQR'] görünür.
Kendin dene
from books.models import Book
# 1. En ucuz: en ucuz kitabın başlığı
# 2. Yıla göre başlıklar: en eski kitap ilk sırada olacak şekilde tüm başlıklar, liste olarak
Modeller ve Yönetim Paneli bölümündeki tüm dersler
2ORM ile Sorgulama
Satır OluşturmaAll ve GetFilter ve LookupsSatırları SaymaSatırları SıralamaUpdate ve DeleteKendi başına pratik yap: Django playground