Кажется, у меня проблема с умножением в Django. Я хочу умножить общую сумму покупки, включая НДС, на мою стоимость НДС. К сожалению, я получил эту ошибку.
unsupported operand type(s) for *: 'Decimal' and 'VAT'
Похоже, моя программа вызывает vat
(см. Представления), а не десятичную, а "НДС". Я не уверен, почему есть ошибка, если нет другого способа обойти это.
Views.py
purchases = Purchase.objects.all()
vat = purchases[0].vat
total_purchases = Purchase.objects.all().aggregate(price = Sum('amount'))
total_purchases_vat = total_purchases['price'] * vat
models.py
class VAT(models.Model):
vat = models.DecimalField(max_digits = 4, decimal_places = 1)
def __unicode__(self):
return unicode(self.vat)
class Purchase(models.Model):
vat_period = models.ForeignKey(VAT_Period)
date = models.DateField()
amount = models.DecimalField(max_digits=20, decimal_places=2)
description = models.TextField(max_length = 400)
vat = models.ForeignKey(VAT)
def __unicode__(self):
return unicode(self.amount)