Contare le righe
Fa parte della sezione Modelli e pannello di amministrazione del percorso Django di Coddy. Lezione 10 di 23.
Per dire quanti libri di fantascienza possiedi, potresti caricarli tutti e contarli in Python. Il database conta più velocemente. Ognuna di queste istruzioni esegue una piccola query e restituisce un'unica risposta:
Book.objects.filter(is_read=True).count() # 1
Book.objects.filter(price__gt=20).exists() # False
len(Book.objects.all()) # 9, dopo aver caricato tutte le 9 righecount() restituisce il numero di righe corrispondenti. exists() risponde True o False: ce n'è almeno una? Entrambe vanno alla fine di un QuerySet, dopo filter() o exclude(). len() restituisce lo stesso numero di count(), ma solo dopo che ogni riga è stata caricata in Python, un'operazione lenta su una tabella grande.
Sfida
FacileRiscrivi explore.py in modo che stampi due righe:
Science fiction:e il numero di libri di fantascienza.Any Tolkien:e se sullo scaffale c'è un libro diJ.R.R. Tolkien.
Premi Run. La Console mostra Science fiction: 3 e Any Tolkien: True.
Provalo tu
from books.models import Book
# 1. Fantascienza: quanti libri di fantascienza ci sono
# 2. Un libro qualsiasi di Tolkien: se sullo scaffale c'è un libro di J.R.R. Tolkien
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