Django postgres jsonfield过滤器错误:不支持的查询

时间:2018-06-27 06:51:25

标签: django postgresql django-models

我正在使用DJango(版本2.0.6)和postgres(版本9.6)。我有一个表sp_users。该模型具有以下字段:

  

{         “ name”:“ abc”,        “年龄”:30岁,         “ gender”:“ male”,         “地址”:{         “ city”:“ Gotham”,         “ state”:“ xyz”,         “ country”:“ mno”         }      }

我正在尝试使用以下代码根据城市过滤表sp_users:

  

SpUsers.objects.filter(address__city ='Gotham')

此处SpUsers是映射到上表的模型。我收到以下错误:

  

不支持JSONField的查找'city'或不允许在字段上加入。

在模型中,我定义的地址字段如下:

  

address = JSONField(null = True,空白= False,默认= dict)

我在这里想念什么?如何解决这个问题?我可以根据姓名或年龄等字段进行过滤。

模型代码如下:

class SpUsers(models.Model):
user_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255, blank=False)
age = models.IntegerField(default=0)
gender = models.CharField(max_length=255, blank=False)
address = JSONField(null=True, blank=False, default=dict)

def __str__(self):
    return self.user_id

class Meta:
    db_table = 'sp_users'

0 个答案:

没有答案