2016-07-23 30 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 –