我正在尝试编写一个 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 文件作为夹具?