如何在django聚合中动态分配别名?

时间:2016-03-03 16:44:44

标签: python django django-models aggregate-functions django-queryset

我正在尝试django aggregates。我正在动态调用这些聚合,需要动态分配和别名。我希望生成的别名是原始字段的名称。

例如:

from django.db import models as aggregator

field = 'person'
reducer = getattr(aggregator, 'Sum')

query_set.aggregate(field=reducer(field))

我期待着这个:

{'person':12}

但得到这个:

{'field':12}

有没有办法在这种情况下动态分配别名?

1 个答案:

答案 0 :(得分:6)

您可以使用unpack语法并传递字典:

query_set.aggregate(**{field:reducer(field)})