Datensätze zählen
Teil des Abschnitts Modelle und Admin-Bereich der Django-Journey von Coddy. Lektion 10 von 23.
Um anzugeben, wie viele Science-Fiction-Bücher du besitzt, könntest du sie alle laden und in Python zählen. Die Datenbank zählt schneller. Jede dieser Abfragen führt eine kleine Abfrage aus und liefert eine einzelne Antwort zurück:
Book.objects.filter(is_read=True).count() # 1
Book.objects.filter(price__gt=20).exists() # False
len(Book.objects.all()) # 9, nach dem Laden aller 9 Zeilencount() gibt zurück, wie viele Zeilen übereinstimmen. exists() beantwortet die Frage mit True oder False: Gibt es mindestens eine? Beide stehen am Ende eines QuerySets, nach filter() oder exclude(). len() liefert dieselbe Anzahl wie count(), aber erst, nachdem jede Zeile in Python geladen wurde. Bei einer großen Tabelle ist das langsam.
Aufgabe
EinfachSchreibe explore.py so um, dass zwei Zeilen ausgegeben werden:
Science fiction:und wie viele Science-Fiction-Bücher es gibt.Any Tolkien:und ob ein Buch vonJ.R.R. Tolkienim Regal steht.
Drücke auf „Run“. In der Konsole steht Science fiction: 3 und Any Tolkien: True.
Probier es selbst
from books.models import Book
# 1. Science-Fiction: Wie viele Science-Fiction-Bücher es gibt
# 2. Ein Buch von Tolkien: Ob ein Buch von J.R.R. Tolkien im Regal steht
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Modelle und Admin-Bereich
Übe selbstständig: Django-Playground