Wszystkie i pobieranie
Część sekcji Modele i panel administracyjny ścieżki Django w Coddy. Lekcja 8 z 23.
Zanim strona będzie mogła wyświetlić książkę, Twój kod musi ją odczytać. Book.objects.all() zwraca QuerySet, obiekt przypominający listę, po którym możesz iterować; każdy element to Book, którego pola są atrybutami. get() pobiera dokładnie jeden wiersz:
for book in Book.objects.all():
print(book.author, book.year)
emma = Book.objects.get(title="Emma")
print(emma.year) # 1815get() oczekuje jednego dopasowania. Brak dopasowania powoduje zgłoszenie wyjątku Book.DoesNotExist, kilka dopasowań — wyjątku Book.MultipleObjectsReturned, a obsługujesz je tak jak każdy inny wyjątek. Dwie książki w tym przypadku są autorstwa Jane Austen:
try:
Book.objects.get(author="Jane Austen")
except Book.MultipleObjectsReturned:
print("More than one")Jeśli wyjątek nie zostanie przechwycony, skrypt zatrzyma się w tym wierszu.
Wyzwanie
ŁatwyPrzepisz explore.py:
- Wyświetl tytuł każdej książki, po jednym w wierszu.
- Pobierz
Dunei wyświetlDune costsoraz jej cenę:Dune costs 9.99. - Wyszukaj
Ulysses, którego nie ma na półce, i wyświetlUlysses is not on the shelfzamiast powodować awarię.
Naciśnij Run. Konsola wyświetli dziewięć tytułów, a następnie dwa zdania.
Spróbuj swoich sił
from books.models import Book
# 1. Wypisz tytuł każdej książki, po jednym w wierszu.
# 2. Pobierz Dune i wypisz jej cenę.
# 3. Wyszukaj Ulysses.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Modele i panel administracyjny
2Odpytowanie za pomocą ORM
Tworzenie wierszyWszystkie i pobieranieFiltrowanie i wyszukiwanieLiczenie wierszySortowanie wierszyAktualizowanie i usuwaniePoćwicz samodzielnie: Edytor online Django