1
我有,我想在同一視圖中拔出子數據(相關的)一個基本的數據庫:Django的子查詢
models.py:
class InvoiceHeader(models.Model):
customer = models.CharField(max_length = 255)
number = models.IntegerField(unique = True)
class InvoiceLine(models.Model):
description = models.CharField(max_length = 255)
price = models.DecimalField(max_digits = 10, decimal_places = 2)
invoiceheader = models.ForeignKey(InvoiceHeader)
views.py:
def list_invoices(request):
invoices = InvoiceHeader.objects.all()
我想要得到的是list_invoices視圖中的發票總計,它包含每個invoiceheader的invoicelines.price(總計),以便在模板中我可以放上:
{% for invoice in invoices %}
{{ invoice.subtotal }}
{% endfor %}
我認爲這是與某些東西在models.py文件中做的事情,但我迷失了與此。
所以任何幫助將不勝感激。
感謝它的工作原理治療。 我可以在熔爐中再添加一個問題: 如果我在invoiceline類中有另一個名爲qty的字段,那麼我可以使用相同的方法執行多次計算,如小計= SUM(數量*價格)? – ausi1972
不幸的不是。你需要用SQL來做,也許用'extra'方法。 –
我記得關於在models.py文件中放置一個def語句之前,它允許您定義一個可調用像get_invoice_total(request):subtotal = self.invoiceline.price * self.invoiceline.qty返回小計 – ausi1972