【发布时间】:2020-08-24 21:56:17
【问题描述】:
我想计算每一行的“总数”。使用下面的代码,它只显示最后一行的总数,而不是每一行的总数。如果我们在这张发票中有很多产品。需要每种产品的总和(价格*数量)
class Invoice(models.Model):
date = models.DateField(default=timezone.now)
client = models.ForeignKey(Client,on_delete=models.CASCADE)
def total(self):
items = self.invoiceitem_set.all()
for item in items:
amount_due = (item.price * item.quantity)
return round(amount_due, 2)
class InvoiceItem(models.Model):
invoice = models.ForeignKey('Invoice', on_delete=models.CASCADE)
product = models.ForeignKey(Product, on_delete=models.CASCADE)
price = models.DecimalField(max_digits=20, decimal_places=2)
quantity = models.DecimalField(max_digits=20, decimal_places=2)
HTML
{% for product in object.invoiceitem_set.all %}
<tr>
<td>{{product.product}}</td>
<td>{{product.price}}</td>
<td>{{product.quantity}}</td>
<td>{{object.total}}</td>
</tr>
【问题讨论】:
标签: django django-models django-views django-templates