【发布时间】:2016-03-23 08:39:57
【问题描述】:
我正在使用带有内置 JSONField 和 Postgres 9.4 的 Django 1.9。
在我的模型的attrs json 字段中,我存储了带有一些值的对象,包括数字。我需要汇总它们以找到最小/最大值。
像这样的:
Model.objects.aggregate(min=Min('attrs__my_key'))
另外,提取特定的键也很有用:
Model.objects.values_list('attrs__my_key', flat=True)
上述查询失败
FieldError:“无法将关键字 'my_key' 解析为字段。不允许加入 'attrs'。”
有可能吗?
注意事项:
- 我知道如何使用简单的 Postgres 查询来完成这项工作,但我正在专门寻找一种 ORM 解决方案以具有过滤等功能。
- 我想这可以通过(相对)新的查询表达式/查找 API 来完成,但我还没有研究过。
【问题讨论】:
-
下面的答案很好。可以找到另一个讨论这个问题的有用网站here。