Неподдерживаемый тип(ы) операнда(ов) для /: 'Vat' и 'int'

искал и не могу найти правильного решения У меня проблема с вычислением суммы НДС из 2 значений в моделях Django.

сначала модель НДС выглядит следующим образом

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

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

тогда у меня есть модель Statement, как показано ниже

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

после этого я получаю ошибку

неподдерживаемый тип(ы) операнда для /: 'Vat' и 'int'

кто-нибудь может помочь с этим, чтобы я получил правильную сумму НДС

например, если vat_value = 21 и amount_in =50, то vat_amt_in =10,50

Ваша ошибка возникает из-за self.vat_value/100, где первый аргумент имеет тип Vat, а не что-то кратное целому числу. Возможно, вы хотели self.vat_value.vat_value/100 (если IntegerField() делится на целое число).

Вернуться на верх