我试图在queryset中的两个注释结果之间进行划分.印象比点击大得多,所以我应该得到十分之一小数.
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')
Run Code Online (Sandbox Code Playgroud)
麻烦在这里:
ctr_monthly= Sum('click')/Sum('impression'))
Run Code Online (Sandbox Code Playgroud)
在模板中我有:
<td>{{ googleData.ctr_monthly | floatformat:2}} </td>
Run Code Online (Sandbox Code Playgroud)
结果是0.00.如果我执行ctr_final = click*impression,它会正确生成.Click&Impression都是整数字段.
我试过使用float(),给了我一个语法错误.
另一个问题是:制作像这样的查询集的最佳实践是什么?有什么方法可以将它分解为几段简短的代码并使其更整洁可读?
谢谢〜