Я использую 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'