Django Json字段过滤器抛出查找错误

Mal*_*Sai 10 python-2.7 django-jsonfield django-1.9

我正在使用django postgres JSONfield,模型结构如下

from django.contrib.postgres.fields import JSONField

class JsonAnswer(models.Model):
    name = models.CharField(max_length=255)
    data = JSONField(default={})
Run Code Online (Sandbox Code Playgroud)

Json字段中的数据如下所示

{
 "owner":{
    "name":"Bob",
    "other_pets":[
      {
       "name":"fishy"
      }
    ]
   },
 "bread":"lab"
}
Run Code Online (Sandbox Code Playgroud)

我的过滤器查询是这样的

JsonAnswer.objects.filter(data__owner__name="Bob")
Run Code Online (Sandbox Code Playgroud)

这就是抛出错误

FieldError: Unsupported lookup 'owner' for JSONField or join on the field not permitted.
Run Code Online (Sandbox Code Playgroud)

请解释如何过滤json字段数据

Tro*_*roy 0

在上面的代码中,您有正确的 类型JSONField,但错误表明该列未按jsonb数据库中的方式定义,无论出于何种原因(这就是我遇到类似错误时遇到的问题)。