Найти - Пользователи
Полная версия: Проблема с JsonField из пакета django-annoying.
Начало » Django » Проблема с JsonField из пакета django-annoying.
1
MikaMika
Привет.
Всё просто, есть модель:
class Page(models.Model):
    data = JSONField(blank=True, null=True)
Сохраняю и пытаюсь вывести словарь:
page = Page.objects.get(pk=5)
page.data = {'title': 'test', 'type': 3}
page.save()
page.data
>>> u"{'title': 'test', 'type': 3} "
>>> page.data.get('title')
>>> AttributeError: 'unicode' object has no attribute 'get'
Как привести строку (u“{'title': ‘test’, ‘type’: 3} ”) возвращаемую json к нормальному виду, что бы получить искомый словарь?
В шаблонах, словарь выдаётся как строка, а не как объект.
Как можно получить словарь, а не строку?
slav0nic
а если с базы по новой перечитать? get(pk=5) типа
у тебя в data строка вернулась, а должно было десериализировать json в словарь
MikaMika
slav0nic
а если с базы по новой перечитать? get(pk=5) типау тебя в data строка вернулась, а должно было десериализировать json в словарь
Я пробовал из консоли.
Выбирал запись и получал следующее:
>>> u"{'title': 'test', 'type': 3}"
Строку юникода.
MikaMika
Проблема была в кавычках.
dict Json != dict Python.
Везде нужные двойные кавычки.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB