Tutti e Ottieni
Fa parte della sezione Modelli e pannello di amministrazione del percorso Django di Coddy. Lezione 8 di 23.
Prima che una pagina possa mostrare un libro, il tuo codice deve leggerlo. Book.objects.all() restituisce un QuerySet, un oggetto simile a una lista su cui puoi eseguire un ciclo; ogni elemento è un Book con i suoi campi come attributi. get() recupera esattamente una riga:
for book in Book.objects.all():
print(book.author, book.year)
emma = Book.objects.get(title="Emma")
print(emma.year) # 1815get() si aspetta una corrispondenza. Se non trova corrispondenze solleva Book.DoesNotExist, se ne trova diverse solleva Book.MultipleObjectsReturned; puoi intercettarle come qualsiasi eccezione. Due dei libri qui sono di Jane Austen:
try:
Book.objects.get(author="Jane Austen")
except Book.MultipleObjectsReturned:
print("More than one")Se non viene intercettata, l'eccezione interrompe lo script su quella riga.
Sfida
FacileRiscrivi explore.py:
- Stampa il titolo di ogni libro, uno per riga.
- Recupera
Dunee stampaDune costse il suo prezzo:Dune costs 9.99. - Cerca
Ulysses, che non è sullo scaffale, e stampaUlysses is not on the shelfinvece di andare in crash.
Premi Run. La Console elenca i nove titoli, poi le due frasi.
Provalo tu
from books.models import Book
# 1. Stampa il titolo di ogni libro, uno per riga.
# 2. Recupera Dune e stampa il suo prezzo.
# 3. Cerca Ulysses.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Modelli e pannello di amministrazione
2Interrogare con l’ORM
Creare righeTutti e OttieniFiltri e ricercheContare le righeOrdinare le righeAggiornare ed eliminareEsercitati da solo: Playground Django