【发布时间】:2017-07-29 06:50:03
【问题描述】:
我需要在 django 1.10 中对 postgres 支持的 jsonfield 上的嵌套键执行 values/values_list 查询 例如。
class AbcModel(models.model):
context = fields.JSONField()
如果它有如下值:
{
'lev1': {
'lev': 2
}
}
我想运行类似的查询
AbcModel.objects.values('context__lev1__lev2').distinct()
AbcModel.objects.values_list('context__lev1__lev2', flat=True).distinct()
编辑: JSON 字段是来自 django.contrib.postgres.fields 的官方 django JSONField
【问题讨论】:
-
那么您面临的问题是什么?
-
django 返回错误 FieldError: Cannot resolve keyword 'lev1' into field。不允许加入“上下文”。
-
这是您数据库中的准确 json 表示吗?
-
什么意思? Postgres 数据类型是 Jsonb。结构相同的是数据库和这里显示的内容
标签: python django django-models django-orm django-postgresql