を呼び出すたびに読み込まれる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のドキュメントによると、非ASCIIデータとJSONシリアライザーを操作するときに設定する必要がensure_ascii=False
ありますが、その方法がわかりません(syncdb
関数から呼び出されるため)。
UTF-8でエンコードされたJASONファイルをフィクスチャとして使用する方法はありますか?