如何使用汇总和除法?

时间:2018-11-21 06:07:39

标签: django aggregate

我想获得过去3个月内总数的平均值。我有一个名为“书”的对象,其属性为“总计”。我需要将总数相加并除以3才能得到一个月的平均值。

这是我的代码:

&& echo

我尝试过:

past_3_month_avg = Book.objects.filter(trandate_b__range=(past_3_month_first_day,current_month_first_day)).aggregate(Sum('total'))

返回错误:

past_3_month_avg = Book.objects.filter(trandate_b__range=(past_3_month_first_day,current_month_first_day)).aggregate(Sum('total')/3)

2 个答案:

答案 0 :(得分:0)

尝试

past_3_month_avg = Book.objects.filter(trandate_b__range=(past_3_month_first_day,current_month_first_day)).aggregate(sum=Sum('total'))['sum']/3

这样命名结果。

答案 1 :(得分:0)

您必须在汇总方法中提供平均值的名称。

past_3_month_data = Book.objects.filter(trandate_b__range(past_3_month_first_day,current_month_first_day)).aggregate(total_val_in_3_months=Sum('total'))

这将为您提供一个包含键名“ total”且值等于过去3个月的Sum(total)的字典。

past_3_month_avg = past_3_month_data.get('total_val_in_3_months')/3