我正试图在queryset中的两个注释结果之间进行划分。印象比点击大得多,所以我应该得到十分数。Django,两个注释结果之间的分割将无法正确计算
def get_queryset(self):
return googleData.objects.filter(account=self.account_name).\
values('date').\
annotate(Sum('click'), Sum('impression'), Sum('converted_click'),
Sum('conversion_value'), Sum('cost'), Sum('conversion_value'), ctr_monthly= Sum('click')/Sum('impression')).\
order_by('-date')
麻烦这里:
ctr_monthly= Sum('click')/Sum('impression'))
在模板中我有:
<td>{{ googleData.ctr_monthly | floatformat:2}} </td>
,结果是0.00。 如果我做ctr_final = click *印象,它会正确生成。 Click &印象都是整数场。
我试过使用float(),给了我一个语法错误。
另一个问题是:建立这样一个查询集的最佳实践是什么?有什么办法可以将它分解成几段简短的代码,并使它更加整洁可读?
谢谢〜
这工作!谢谢。将所有内容都放在decimalField中是一种更好的做法吗? – viviwill