django - 我们如何为复杂聚合动态添加别名?
问题描述
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))
而不是得到'key',我想要来自 for 循环的实际密钥。
我在用着Django=1.9.1
解决方案
与往常一样,您可以使用字典扩展:
).aggregate(**{key: Coalesce(Sum('num'),0)})
推荐阅读
- ios - Errors when installing cocoapods with gem
- vb.net - 如何从连接到数据库的组合框中删除项目并自动刷新?
- json - jq可以在一行中处理多个json对象吗?
- python - pyinstaller:LSOpenURLsWithRole() 失败,错误 -10810
- response - http跟踪器(BitTorrent)紧凑响应对等体解析
- javascript - 获取两个 XML 树之间差异的算法(JS 或伪代码)
- html - 步骤进度条 - 进度编号框之间的线条
- c# - C# 组合框未正确从列表中填充
- salt-stack - saltstack - 如何获得与谷物或支柱相匹配的奴才?
- c - 读取函数在文件中向后跳过 4086 个字节而不是向前跳过 6 个字节