- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个表格,其中包含发票列表及其详细信息:
class Invoice(models.Model):
invoiceNum = models.CharField(etc...)
invoiceDate = models.DateField(etc...)
customerID = models.ForeignKey(etc...)
isPaid = models.CharField(etc...)
发票
记录不保存实际的发票总额。相反,发票的总计由多个 Invoice_Line_Item
记录组成,保存在另一个表中:
class Invoice_Line_Item(models.Model):
invNum = models.ForeignKey(Invoice)
itemName = models.CharField(etc...)
itemPrice = models.DecimalField(etc...)
我有一个网络应用程序,它在一个大的 HTML 表格中显示所有发票,并在表格的 tr
行上显示该发票的所有详细信息。发票日期、发票编号、客户 ID 等详细信息均来自该Invoice
表。此 HTML
表格
中显示了数百张发票。
我还想做的是显示每张发票的总值(value) - 这是所有行项目的总和。但是,我想不出一种简单的方法来完成此操作,因为发票详细信息和构成发票总额的行项目位于两个不同的表中。
我想到的一种方法是将整个 Invoice_Line_Item
查询集传递到 HTML 模板中,然后对于表 tr
中显示的每张发票,我可以迭代整个 Invoice_Line_Item
querySet,添加与当前发票匹配的所有行项目。然而,这似乎效率极低。
关于如何做到这一点有更好的想法吗?
谢谢!
最佳答案
一个字:聚合
Invoice_Line_Item.objects.filter(invNum=invoice).aggregate(Sum('itemPrice'))
https://docs.djangoproject.com/en/dev/topics/db/aggregation/
另一种方法是将总计存储在 Invoice 中,并在您更改相关 Invoice_Line_Item
时更新它
关于Django - 显示记录表的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7463169/
如何使用批量收集填充具有多个 %rowtype 字段的记录表? 我的代码: drop table child_table; drop table parent_table;
我是一名优秀的程序员,十分优秀!