表的總和我有有發票和他們的詳細信息列表的表: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