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

How do you dynamically assign aliases in a django aggregate?

我正在试用 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}

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

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

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