Опитвам се да напиша фиксиране на първоначални данни в JSON, което ще се зарежда след всяко извикване на syncdb
.
Поставих initial_data.json
файл в моята mysite/myapp/fixtures
директория:
[
{
"model": "myapp.Person",
"pk": 1,
"fields": {
"first_name": "Tom",
"last_name": "Yam"
}
}
]
Всичко работи, когато файлът е кодиран в ASCII, но когато го запазя в UTF-8 кодиране (трябва да използвам знаци, които не са ASCII), получавам следната грешка:
Problem installing fixture 'initial_data.json': Traceback (most recent call last):
File "D:\Tom\DjangoEnv\Lib\site-packages\django\core\management\commands\loaddata.py", line 190, in handle
for obj in objects:
File "D:\Tom\DjangoEnv\Lib\site-packages\django\core\serializers\json.py", line 47, in Deserializer
raise DeserializationError(e)
DeserializationError: No JSON object could be decoded
Според документацията на Django, трябва да задам ensure_ascii=False
, когато работя с не-ASCII данни и JSON сериализатори, но не мога да разбера как да го направя (тъй като се извиква от функцията syncdb
.
Някакви идеи как да използвате UTF-8 кодиран JASON файл като фиксиране?