我的代码有问题。我当时要解决它,但我没有发现类似的问题。我想多次,然后总结一些字段值,但我从标题中得到错误。有解决这个问题吗?我想这是数据类型的问题,但我不知道如何定义方程。请帮帮我。
class Bill(models.Model):
date = models.DateField(default=datetime.now())
tax = models.FloatField(default=0.20)
priceNoTax = models.IntegerField()#integer that I get from other class
priceTax = models.FloatField()
idAccount = models.ForeignKey(Account, on_delete=models.CASCADE, verbose_name="Account")
def save(self, *args, **kwargs):
if self.priceTax is None:
self.priceTax = self.priceNoTax+(self.priceNoTax*self.tax)#here is an error
super(Bill, self).save(*args, **kwargs)
def __str__(self):
return self.date
非常感谢!
答案 0 :(得分:0)
错误消息中参数的顺序对应于代码:
'NoneType' and 'float'
< => self.priceNoTax*self.tax
self.priceNoTax
尚未初始化,或者如果您从数据库加载了它,那么它包含NULL
。您可以在乘法发生之前使用print
内容self.priceNoTax
来验证这一点。
仔细检查self.priceNoTax
的设置方式。