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 sola corrispondenza. Se non ne trova nessuna, solleva Book.DoesNotExist; se ne trova diverse, solleva Book.MultipleObjectsReturned, e puoi intercettarle come qualsiasi eccezione. In questo caso, due libri 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 in 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 bloccarti con un errore.
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 stampane il 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