Menu
CoddyTech

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 righe

count() 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.

challenge icon

Sfida

Facile

Riscrivi explore.py in modo che stampi due righe:

  1. Science fiction: e il numero di libri di fantascienza.
  2. Any Tolkien: e se sullo scaffale c'è un libro di J.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
quiz iconMettiti alla prova

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

Esercitati da solo: Playground Django