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 kitabı gösterebilmesi için kodunuzun önce onu yeniden okuması gerekir. Book.objects.all(), üzerinde döngü kurabileceğiniz liste benzeri bir nesne olan 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; bunları diğer tüm istisnalar gibi yakalayabilirsiniz. Buradaki iki kitap Jane Austen tarafından yazılmıştır:

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 bulunmayan Ulysses kitabını ara ve hata vermek yerine Ulysses is not on the shelf yazdır.

Run'a bas. Konsol önce dokuz başlığı, ardından iki cümleyi listeler.

Kendin dene

from books.models import Book

# 1. Her kitabın başlığını, her satıra bir tane gelecek şekilde yazdır.

# 2. Dune kitabını getir ve fiyatını yazdır.

# 3. Ulysses kitabını ara.
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