【发布时间】:2020-06-13 12:31:39
【问题描述】:
我遇到了一个我真的无法理解的最奇怪的问题。好吧,我关注了This,但没有任何帮助。 正如问题所说,我只想将结果呈现到模板中。下面是我的代码。
Views.py
...
invoice = lead.invoice_set.all()
total_invoice = invoice.aggregate(total=Sum('amount'))
context = { 'total_invoice' : total_invoice }
html
{{total_invoice.total}}
这是我的代码,根据文档必须工作,并且正如我共享的链接上所建议的那样。不幸的是,它不起作用,我不知道是什么原因。 以下是我迄今为止尝试过的。
试一试
当我尝试将其打印到终端时,它会给我带来一本字典。例如。
print(total_invoice)
prints on terminal...
{'total': 70000}
这很好理解。现在我想提取价值,这可以通过简单的 {{total_invoice.total}} 来完成。但它在模板上什么也没显示。
尝试 2(工作)
由于我尝试了不同的方法将值呈现到模板中,因此我遇到了这个奇怪的解决方案。我不知道这是如何工作的。 我在这里所做的与 TRY 1 不同的只是将变量名称(total_invoice)更改为(total),它工作得非常好。方法如下。
Views.py
invoice = lead.invoice_set.all()
total = invoice.aggregate(total=Sum('amount'))
context = { 'total' : total }
html
{{total.total}}
只需将变量名称更改为总计,它就可以完美地工作。但是后来我认为名称应该相同,但事实并非如此,所以我尝试为两个变量赋予相同的名称,但这一次不是“总”,但它再次不起作用。例如
...
total_invoice = invoice.aggregate(total_invoice =Sum('amount'))
我不知道到底发生了什么。
谁能帮我解决这个问题。 谢谢
【问题讨论】:
标签: python django django-templates django-aggregation