Datensätze zählen
Teil des Abschnitts Modelle und Admin-Bereich der Django-Journey von Coddy. Lektion 10 von 23.
Um zu sagen, 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 Möglichkeiten führt eine kleine Abfrage aus und gibt 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, nachdem alle 9 Zeilen geladen wurdencount() gibt zurück, wie viele Zeilen übereinstimmen. exists() gibt True zurück, wenn mindestens eine Zeile übereinstimmt, und False, wenn keine übereinstimmt. Beide stehen am Ende eines QuerySets, nach filter() oder exclude(). len() liefert dieselbe Anzahl wie count(), aber erst, nachdem jede Zeile nach Python geladen wurde, was bei einer großen Tabelle langsam ist.
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 „Ausführen“: 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. Irgendein Tolkien-Buch: 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