Я пытаюсь написать фикстуру исходных данных 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
.
Любые идеи, как использовать файл JASON в кодировке UTF-8 в качестве приспособления?