2017-03-20 91 views
0

我在嘗試總結一個條目列表。但是,我似乎無法弄清楚如何提取我需要的數字。在Django中格式化查詢輸出

每當我跑:

Entry.objects.aggregate(Sum('euros_sum'))

我得到:

{'euros_sum__sum': Decimal('5948.48')} 

,如果我需要的數量添加到我的模板,該模板是好的。不過,我需要自己編號(5948.48),以便我可以將其添加到表單字段。如何格式化查詢以僅輸出沒有字段詳細信息的總數(euros_sum__sum: Decimal等)?

我在這裏錯過了什麼?

在此先感謝您的幫助!

回答

0

使用一個值別名的可能會派上用場這裏(s是別名,你可以命名爲任何你喜歡)。需要注意的是aggregate返回dict,所以你可以簡單地.get的別名值:

d = Entry.objects.aggregate(s=Sum('euros_sum')).get('s') 
d # Decimal('5948.48') 
type(d) # <class 'decimal.Decimal'> 

d = Entry.objects.aggregate(s=Sum('euros_sum')).get('s') 
str(d) # '5948.48' 
type(str(d)) # <class 'str'> 
+0

完美。我想知道如何關聯.get,謝謝! – grigs

+0

哦,更新我的答案,包括'.get'部分! –