10

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

from django.contrib.postgres.fields import JSONField

class JsonAnswer(models.Model):
    name = models.CharField(max_length=255)
    data = JSONField(default={})

Json 字段中存在的数据如下

{
 "owner":{
    "name":"Bob",
    "other_pets":[
      {
       "name":"fishy"
      }
    ]
   },
 "bread":"lab"
}

我的过滤器查询是这样的

JsonAnswer.objects.filter(data__owner__name="Bob")

这是抛出错误

FieldError: Unsupported lookup 'owner' for JSONField or join on the field not permitted.

请说明如何过滤json字段数据

4

1 回答 1

0

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

于 2018-12-27T23:34:25.653 回答