Menu
CoddyTech

Contar filas

Parte de la sección Modelos y el panel de administración del Journey de Django de Coddy. Lección 10 de 23.

Para saber cuántos libros de ciencia ficción tienes, podrías cargarlos todos y contarlos en Python. La base de datos cuenta más rápido. Cada una de estas operaciones ejecuta una consulta pequeña y devuelve una sola respuesta:

Book.objects.filter(is_read=True).count()    # 1
Book.objects.filter(price__gt=20).exists()   # False
len(Book.objects.all())                      # 9, después de cargar las 9 filas

count() devuelve cuántas filas coinciden. exists() responde True o False: ¿hay al menos una? Ambas se usan al final de un QuerySet, después de filter() o exclude(). len() da el mismo número que count(), pero solo después de que todas las filas se hayan cargado en Python, lo cual es lento en una tabla grande.

challenge icon

Desafío

Fácil

Reescribe explore.py para imprimir dos líneas:

  1. Science fiction: y cuántos libros de ciencia ficción hay.
  2. Any Tolkien: y si hay un libro de J.R.R. Tolkien en la estantería.

Pulsa Ejecutar. La consola muestra Science fiction: 3 y Any Tolkien: True.

Pruébalo tú mismo

from books.models import Book

# 1. Ciencia ficción: cuántos libros de ciencia ficción hay

# 2. Algún libro de Tolkien: si hay un libro de J.R.R. Tolkien en la estantería
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Modelos y el panel de administración

Practica por tu cuenta: Playground de Django