091-25-dica-queryset
Dica 25 - Criando Filtros poderosos no Django - Segredos do ORM
Preparando os dados
python manage.py seed product --number=500
python manage.py seed bookstore --number=500
python manage.py shell_plusfrom random import choice
categories = (
'Acessórios de Moda',
'Artigos de Ginástica e Esportes',
'Artigos de Praia e Piscina',
'Artigos para Presente',
'Calçado Feminino',
'Calçado Masculino',
'Cama, Mesa e Banho',
'Roupa Feminina',
'Roupa Infantil',
'Roupa Masculina',
)
# Deleta as categorias
Category.objects.all().delete()
# Cria as categorias com list comprehension
[Category.objects.create(title=title) for title in categories]
categories = Category.objects.all()
products = Product.objects.all()
for product in products:
# Escolhe uma catetoria
category = choice(categories)
product.category = category
# Aplica a categoria em todos os produtos
Product.objects.bulk_update(products, ['category'])Relacionamento OneToOne e ForeignKey
select_related
Relacionamento Reverso
prefetch_related
Exemplo com ManyToMany
Filtro Direto
Filtro Reverso
Filtrando a partir de uma lista de dados
Ordenando os items
Retornando uma lista de registros
Campo de Busca no Django
O Operador AND
ANDO Operador OR
ORMétodo Q()
Q()Diferença entre get e filter.
get e filter.Tratando o erro DoesNotExists
Evitando o erro DoesNotExists
get_or_create
Criando o campo de busca
Last updated