2016-07-23 70 views
4

我想才達到的聚集查詢,這就是我的代碼:Django聚合 - 表達式包含混合類型。您必須設置output_field

TicketGroup.objects.filter(event=event).aggregate(
          total_group=Sum(F('total_sold')*F('final_price'))) 

我有「total_sold」和TicketGroup對象final_price'和所有我想要做的就是和繁衍值來獲得所有TicketGroups的總銷售額。

我得到的是這樣的錯誤:

Expression contains mixed types. You must set output_field

什麼我做錯了,因爲我打電話「total_group」作爲我的輸出域?

謝謝!

回答

7

By output_field Django表示爲Sum的結果提供字段類型。

total_group=Sum(F('total_sold')*F('final_price'), output_field=FloatField()) 

應該這樣做。

+0

謝謝!它正在工作:) – Lara

+0

對於那些想知道:從django.db.models導入FloatField –