Форум сайта python.su
Привет.
Всё просто, есть модель:
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'
Отредактировано MikaMika (Апрель 5, 2013 11:57:03)
Офлайн
а если с базы по новой перечитать? get(pk=5) типа
у тебя в data строка вернулась, а должно было десериализировать json в словарь
Отредактировано slav0nic (Апрель 5, 2013 17:22:47)
Офлайн
slav0nicЯ пробовал из консоли.
а если с базы по новой перечитать? get(pk=5) типау тебя в data строка вернулась, а должно было десериализировать json в словарь
>>> u"{'title': 'test', 'type': 3}"
Офлайн
Проблема была в кавычках.
dict Json != dict Python.
Везде нужные двойные кавычки.
Офлайн