我们如何动态地为复杂聚合添加别名?

时间:2018-06-07 10:18:27

标签: django django-orm

for *key*,*value* in dict_test.items():
    data = (Model.objects.filter(id__in=*value*)
                         .annotate(num=Func(F('amount'),
                         template='%(function)s(%(expressions)s AS % (type)s)',
                         function='Cast', type='float')
                       ).aggregate(*key*=Coalesce(Sum('num'),0))

我没有获得'键' ,而是希望来自for循环的实际密钥。

我正在使用Django=1.9.1

1 个答案:

答案 0 :(得分:0)

与往常一样,您可以使用字典扩展:

).aggregate(**{key: Coalesce(Sum('num'),0)})