大家好,我在django有这两个模型,你们可以看到我重写了save()
方法,因为我希望atributevalor_a_receber
是基于一个基本乘法和一个foreignkey值
以下是我的源代码:
from django.db import models
from accounts.models import Vendedor
class Comissao(models.Model):
porcentagem = models.FloatField()
def __str__(self):
return str(self.porcentagem)
class Venda(models.Model):
vendedor = models.ForeignKey(Vendedor, on_delete=models.DO_NOTHING)
comissao_venda = models.ForeignKey(Comissao, null=True, on_delete=models.DO_NOTHING)
data_venda = models.DateField(auto_now_add=True)
valor_venda = models.FloatField()
descricao_venda = models.CharField(max_length=60)
valor_a_receber = models.FloatField(blank=True, null=True)
def save(self, *args, **kwargs):
self.valor_a_receber = (self.comissao_venda * self.valor_venda)
super().save(*args, **kwargs)
def __str__(self):
return str(self.vendedor)
感谢您的帮助
您应该与
comissao_vendra
的porcentagem
相乘:但是在} [Django-doc]时,可以规避这些问题。最好将
save
方法中实现这一点可能不是一个好主意。例如,当在QuerySet
上执行^{valor_a_receber
定义为属性:相关问题 更多 >
编程相关推荐