Compter les lignes
Fait partie de la section Modèles et interface d’administration du Journey Django de Coddy. Leçon 10 sur 23.
Pour savoir combien de livres de science-fiction vous possédez, vous pourriez tous les charger et les compter en Python. La base de données compte plus rapidement. Chacune de ces instructions exécute une petite requête et renvoie une seule réponse :
Book.objects.filter(is_read=True).count() # 1
Book.objects.filter(price__gt=20).exists() # False
len(Book.objects.all()) # 9, après avoir chargé les 9 lignescount() renvoie le nombre de lignes correspondantes. exists() répond True ou False : y en a-t-il au moins une ? Ces deux méthodes s’ajoutent à la fin d’un QuerySet, après filter() ou exclude(). len() donne le même nombre que count(), mais seulement après que toutes les lignes ont été chargées dans Python, ce qui est lent pour une grande table.
Défi
FacileRéécris explore.py pour afficher deux lignes :
Science fiction:et le nombre de livres de science-fiction qu’il y a.Any Tolkien:et si un livre deJ.R.R. Tolkiense trouve sur l’étagère.
Appuie sur Run. La console affiche Science fiction: 3 et Any Tolkien: True.
Essayez vous-même
from books.models import Book
# 1. Science-fiction : combien de livres de science-fiction il y a
# 2. Un livre de Tolkien : si un livre de J.R.R. Tolkien se trouve sur l’étagère
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Modèles et interface d’administration
2Interroger avec l’ORM
Créer des lignesAll et GetFiltres et recherchesCompter les lignesTrier les lignesMettre à jour et supprimer3Des pages issues de la base de données
Une liste issue de la base de donnéesUne page pour chaque livreEntraînez-vous par vous-même : Playground Django