Menu
CoddyTech

Contando registros

Parte da seção Models e o Admin do Journey de Django da Coddy. Lição 10 de 23.

Para dizer quantos livros de ficção científica você tem, poderia carregá-los todos e contar em Python. O banco de dados conta mais rápido. Cada uma dessas operações executa uma pequena consulta e retorna uma única resposta:

Book.objects.filter(is_read=True).count()    # 1
Book.objects.filter(price__gt=20).exists()   # False
len(Book.objects.all())                      # 9, após carregar todas as 9 linhas

count() retorna quantas linhas correspondem. exists() responde True ou False: há pelo menos uma? Ambos são usados no final de um QuerySet, depois de filter() ou exclude(). len() fornece o mesmo número que count(), mas somente depois que todas as linhas forem carregadas no Python, o que é lento em uma tabela grande.

challenge icon

Desafio

Fácil

Reescreva explore.py para imprimir duas linhas:

  1. Science fiction: e quantos livros de ficção científica há.
  2. Any Tolkien: e se há um livro de J.R.R. Tolkien na estante.

Pressione Run. O Console exibe Science fiction: 3 e Any Tolkien: True.

Experimente você mesmo

from books.models import Book

# 1. Ficção científica: quantos livros de ficção científica há

# 2. Algum livro de Tolkien: se há um livro de J.R.R. Tolkien na estante
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Models e o Admin

Pratique por conta própria: Playground de Django