Menu
CoddyTech

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.

challenge icon

Görev

Orta

explore.py dosyasını iki satır yazdıracak şekilde yeniden yaz:

  1. Cheapest: ve en ucuz kitabın başlığı.
  2. 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

Kendi başına pratik yap: Django playground