表的总和我有有发票和他们的详细信息列表的表:Django的 - 显示的记录
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
表。在此HTML
table
中有数百张发票。
我想要做的还是显示每张发票的总价值 - 这是所有订单项的总和。但是,由于发票明细和构成发票总额的订单项位于两个不同的表格中,因此我想不出一个简单的方法来实现此目的。我想
的一种方法是将整个Invoice_Line_Item
查询集通入HTML模板,然后在一个表tr
显示每张发票,我可以遍历整个Invoice_Line_Item
查询集,加起来匹配当前发票的所有行项目。但是,这看起来效率很低。
有关如何做到这一点的更好的想法?
谢谢!
有趣。所以我会创建一个聚集的querySet,并将_that_传递给模板。这样我只会迭代一个比整个'Invoice_Line_Item'查询集小得多的聚合查询集。我有这个权利吗? – Garfonzo
不,聚合返回一个字典,就像{'itemPrice__Sum':100}一样。我认为。你可以使它成为发票的功能,这会使它更漂亮。阅读文档以进行澄清。 – nulvinge
感谢您的提示。我正在阅读文档。我认为这是一个很好的解决方案。 – Garfonzo