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 filascount() 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.
Desafío
FácilReescribe explore.py para imprimir dos líneas:
Science fiction:y cuántos libros de ciencia ficción hay.Any Tolkien:y si hay un libro deJ.R.R. Tolkienen 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
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
2Consultas con el ORM
Crear filasAll y GetFiltros y búsquedasContar filasOrdenar filasActualizar y eliminar3Páginas desde la base de datos
Una lista desde la base de datosUna página para cada libroPractica por tu cuenta: Playground de Django