我有一个类似下面的django模型:
from jsonfield import JSONField
class SCUser(User):
address = JSONField(blank=True,null=True)
当我在这个地址中保存一个json时,它会被保存为字符串。 这是一段代码:
appuser.address = {"state":""}
appuser.save()
现在,如果我尝试检索appuser.address,它会给我
>>>appuser.address
>>>u'{"state":""}'
>>>appuser.save()
>>>appuser.address
>>>u'"{\\"state\\":\\"\\"}"'
它会递归。 我在这里缺少什么?
修改 AppUser继承自SCUser模型。
答案 0 :(得分:0)
当我使用非Autofield键作为模型的主键时遇到了这个问题,并且发现了一些仍在github上与该问题相关的问题。
https://github.com/dmkoch/django-jsonfield/issues/92
https://github.com/dmkoch/django-jsonfield/issues/101
我通过在模型中定义pk属性解决了这个问题。我不知道使用此解决方案会有任何副作用。
class SCUser(User):
....
@property
def pk(self):
return self.id # your pk
答案 1 :(得分:-1)
请尝试:
appuser.address = {"state":""}
appuser.save()
appuser.get_data_json()