All ve Get
Coddy'nin Django Journey'sinin Modeller ve Yönetim Paneli bölümünün bir parçası. Ders 8 / 23.
Bir sayfanın bir kitabı gösterebilmesi için kodunun önce onu geri okuması gerekir. Book.objects.all(), üzerinde döngü kurabileceğin liste benzeri bir nesne olan bir QuerySet döndürür; her öğe, alanları öznitelik olarak bulunan bir Book nesnesidir. get() tam olarak bir satır getirir:
for book in Book.objects.all():
print(book.author, book.year)
emma = Book.objects.get(title="Emma")
print(emma.year) # 1815get() tek bir eşleşme bekler. Eşleşme bulunamazsa Book.DoesNotExist, birden fazla eşleşme bulunursa Book.MultipleObjectsReturned hatası oluşur; bu hataları diğer istisnalar gibi yakalayabilirsin. Buradaki iki kitap Jane Austen'a aittir:
try:
Book.objects.get(author="Jane Austen")
except Book.MultipleObjectsReturned:
print("More than one")Yakalanmazsa, istisna betiği o satırda durdurur.
Görev
Kolayexplore.py dosyasını yeniden yaz:
- Her kitabın başlığını satır başına bir tane olacak şekilde yazdır.
Dunekitabını al veDune costsifadesini ve fiyatını yazdır:Dune costs 9.99.- Rafta olmayan
Ulysseskitabını ara ve hata vermek yerineUlysses is not on the shelfyazdır.
Run düğmesine bas: Console'da önce dokuz başlık, ardından iki cümle listelenir.
Kendin dene
from books.models import Book
# 1. Her kitabın başlığını ayrı bir satıra yazdırın.
# 2. Dune kitabını bulun ve fiyatını yazdırın.
# 3. Ulysses kitabını arayın.
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
Kendi başına pratik yap: Django playground