【发布时间】:2011-09-18 17:32:57
【问题描述】:
我有一张包含发票清单及其详细信息的表格:
class Invoice(models.Model):
invoiceNum = models.CharField(etc...)
invoiceDate = models.DateField(etc...)
customerID = models.ForeignKey(etc...)
isPaid = models.CharField(etc...)
Invoice 记录不包含实际发票总额。相反,一张发票的总额由多个 Invoice_Line_Item 记录组成,保存在另一个表中:
class Invoice_Line_Item(models.Model):
invNum = models.ForeignKey(Invoice)
itemName = models.CharField(etc...)
itemPrice = models.DecimalField(etc...)
我有一个 web 应用程序,它在一个大的 HTML 表格中显示所有发票,以及该表格的 tr 行中该发票的所有详细信息。发票日期、发票编号、客户 ID 等详细信息都来自 Invoice 表。这个HTMLtable有数百张发票要显示。
我还想做的是显示每张发票的总价值 - 这是所有行项目的总和。但是,我想不出一种简单的方法来完成此操作,因为发票详细信息和构成发票总额的行项目位于两个不同的表格中。
我认为的一种方法是将整个 Invoice_Line_Item 查询集传递到 HTML 模板中,然后对于表中显示的每张发票 tr,我可以遍历整个 Invoice_Line_Item 查询集,将所有行项目加起来与当前发票相匹配。然而,这似乎非常低效。
关于如何做到这一点的任何更好的想法?
谢谢!
【问题讨论】: