Menu
CoddyTech

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 lignes

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

challenge icon

Défi

Facile

Réécris explore.py pour afficher deux lignes :

  1. Science fiction: et le nombre de livres de science-fiction qu’il y a.
  2. Any Tolkien: et si un livre de J.R.R. Tolkien se 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
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Playground Django