/ 不支持的操作数类型:'Vat' 和 'int'

unsupported operand type(s) for /: 'Vat' and 'int'

一直在搜索,但我找不到合适的解决方案我在根据 Django 模型中的 2 个值计算增值税金额时遇到问题。

首先增值税模型是这样的

class Vat(models.Model):
    vat_name = models.CharField(max_length=200)
    vat_value = models.IntegerField()

    def __str__(self):
        return str(self.vat_value)

然后我有如下的语句模型

class Statement(models.Model):
    sales_invoice   = models.IntegerField(blank=True, null=True)
    vat_value       = models.ForeignKey(Vat, on_delete=models.CASCADE, blank=True, null=True)
    amount_in       = models.DecimalField(max_digits=7, decimal_places=2, blank=True, null=True)

def vat_amt_in(self):
        if self.amount_in and self.vat_value :
            vat_amt_in = (self.vat_value/100)*self.amount_in
        else:
            return None

所以在这之后我得到了错误

unsupported operand type(s) for /: 'Vat' and 'int'

任何人都可以帮助我获得正确的增值税金额

比如如果 vat_value = 21 并且 amount_in =50 那么 vat_amt_in =10,50

您的错误来自 self.vat_value/100,其中第一个参数是 Vat 类型,不能被整数整除。您可能想要 self.vat_value.vat_value/100(如果 IntegerField() 可以被整数整除)。