1
我想使用Django的「manage.py loaddata」命令將數據載入mysql數據庫。當我嘗試加載含有下列內容的JSON文件,我得到一個錯誤Django燈具:不能使用json文件將數據分配到文本字段
DeserializationError: Problem installing fixture
'my_json.json': [u'No JSON object could be decoded']
當我刪除名爲「extra_data」字段,然後將數據成功加載。我發現字段「extra_data」是一個文本字段,由此導致錯誤。如何在json中正確指定textfield以便插入?
[
{
"pk": 2,
"model": "auth.user",
"fields": {
"username": "JamesButt"
}
}, {
"pk": 1,
"model": "socialaccount.socialaccount",
"fields": {
"uid": "JamesButt",
"last_login": "2013-11-22 11:11:11",
"user": 2,
"provider": "1",
"extra_data": "something",
"date_joined": "2013-11-22 11:11:11"
}
}
]
AFAIK文本框序列化爲JSON中簡單的字符串。你可以發佈模型嗎?你最近是否刪除或添加了'extra_data',並且可能忘記執行'syncdb'? –
我正在使用django-alluth,並在那裏獲得模型。你可以查看[models.py](https://github.com/pennersr/django-allauth/blob/master/allauth/socialaccount/models.py) 其實它不是一個文本字段,而是被定義爲extra_data = JSONField (默認='{}') –
@YerayDiazDiaz裏面的字符串也應該是一個有效的json。感謝它現在解決了 –