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 podobny do listy, 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 wyjątek Book.DoesNotExist, kilka dopasowań powoduje wyjątek Book.MultipleObjectsReturned, a te wyjątki przechwytuje się tak jak każdy inny wyjątek. Dwie książki tutaj 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:
- Wypisz tytuł każdej książki, po jednym w każdym wierszu.
- Pobierz
Dunei wypiszDune costsoraz jej cenę:Dune costs 9.99. - Wyszukaj
Ulysses, którego nie ma na półce, i wypiszUlysses is not on the shelfzamiast powodować awarię.
Naciśnij „Uruchom”: 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