【发布时间】:2011-09-21 11:01:46
【问题描述】:
我似乎在 Django 中进行乘法运算时遇到了问题。我想将包括增值税在内的总购买量乘以我的增值税值。不幸的是,我收到了这个错误。
unsupported operand type(s) for *: 'Decimal' and 'VAT'
看起来我的程序调用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)
【问题讨论】: