Menu
CoddyTech

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)   # 1815

get() 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.

challenge icon

Görev

Kolay

explore.py dosyasını yeniden yaz:

  1. Her kitabın başlığını satır başına bir tane olacak şekilde yazdır.
  2. Dune kitabını al ve Dune costs ifadesini ve fiyatını yazdır: Dune costs 9.99.
  3. Rafta olmayan Ulysses kitabını ara ve hata vermek yerine Ulysses is not on the shelf yazdı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.
quiz iconKendini test et

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