Boas praticas

20 views
Skip to first unread message

Daniel Chaves de Lima

unread,
Mar 2, 2021, 8:30:23 PM3/2/21
to Django Brasil
Tenho um template que pega informcoes sobre debitos de um determinado cliente, gostaria de uma recomendacao em ralação a como pego os dados do banco, se eu deixo um metodo na classe ou se pego diretamente no template.

uma amostra de como seria mais ou menos. A ideia futuramente é passar pro template debitos quitados, não quitados e outras coisas que ainda serão implantadas.

# models.py

class Cliente(Model):
    nome = CharField(
        max_length=100,
        unique=True
    )

# coloco ou não esse metodo?
    def debitos(self):
        lista_debitos = self.debito_set.all()
        return lista_debitos

class Debito(Model):
    cliente =   ForeignKey(Cliente, on_delete=DO_NOTHING)
    valor = DecimalField(max_digits=5, decimal_places=2)
    quitado = BooleanField()

# views.py
class Debitos(View):
    template_name = "cliente/debitos.html"

    def get(self, request, id_cliente):
        cliente = get_object_or_404(Cliente, id=id_cliente)
        return render(request, self.template_name, {'cliente': cliente})

# # debitos.html
# isso?
{% for debito in cliente.debitos %}

# ou isso? (aqui não precisaria ter criado o metodo na classe Cliente)
{% for debito in cliente.debito_set.all %}  
Reply all
Reply to author
Forward
0 new messages