Django | Retornando colunas

Como selecionar colunas específicas no django?

Publicado em: 13/06/2022

em caso de dúvidas, envie email para alfredojrgasper@gmail.com

Necessidade

Em certos momentos no desenvolvimento de aplicativos no django eu queria selecionar algumas colunas em específico, assim como é feito no SQL, foi quando achei um tutorial na internet ensinando o procedimento.

Como fazer?

em models.py

from django.db import models

class Carro(models):

    nome = models.CharField(max_length=30)
    anoDeFabricacao = models.IntegerField()
    preco = models.DecimalField(max_digits=10, decimal_places=3)
    peso = models.DecimalField(max_digits=8, decimal_places=3)

    def __str__(self):
        return self.nome

Na linha de comando, ou em outro lugar da aplicação.

Para entrar no shell interativo do django

python manage.py shell

Importando o modelo

from venda.models import Carro

Fazendo a consulta

queryset = Carro.objects.filter(anoDeFabricacao=2022).values('nome','peso')
queryset
output : <QuerySet [{'nome': 'celta', 'peso': 998}, {'nome': 'palio', 'peso': 997},
 {'nome': 'uno', 'peso': 996}, {'nome': 'gol', 'peso': 995}]

Referência

Documentação oficial