Ошибка фильтра Django postgres jsonfield: неподдерживаемый поиск - PullRequest
0 голосов
/ 27 июня 2018

Я использую DJango (версия 2.0.6) и postgres (версия 9.6). У меня есть таблица sp_users. Модель имеет следующие поля:

{ "имя": "abc", "Возраст": 30, "мужской пол", "адрес":{ "Город": "Gotham", «Состояние»: «хуг», "Страна": "MnO" } }

Я пытаюсь отфильтровать таблицу sp_users по городам, используя следующий код:

SpUsers.objects.filter (address__city = 'Готэм')

здесь SpUsers - это модель, которая отображается в таблице выше. Я получаю следующую ошибку:

Неподдерживаемый поиск 'city' для JSONField или присоединение к полю не разрешено.

В модели я определил адресное поле следующим образом:

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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...