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 kitap, en yeni kitap, başlığa göre en eskiden başlayarak sıralanan tüm kitaplar: bunların her biri sıralamayla ilgili bir sorudur. order_by(), bir QuerySet'i bir alana göre sıralar; Meta içindeki ordering ise tümü için aynı işi yapar 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(), Book nesnelerini atlar ve tek bir alanın değerlerini döndürür. flat=True olmadan her değer, ('Mary Beard',) gibi tek öğeli bir demet içinde gelir.
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 her kitabın başlıklarının listesi; en eski kitap ilk sırada.
Run düğmesine bas. Console'da Cheapest: Pride and Prejudice ve Titles by year: ['Pride and Prejudice', 'Emma', ...] 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