我有一个 JSON 文件 sample.json:
[
{
"pk": null,
"model": "auth.user",
"fields": {
"username": "JoeBob"
}
}
]
我已经有一个带有 username 的 auth.User 模型JoeBob
。
如果我通过 将它加载到 Django 应用程序中manage.py loaddata sample.json
,如果它不存在,我希望它创建记录,否则什么也不做。在这种情况下,它应该什么都不做。
但是,它似乎尝试创建重复记录,返回错误:
IntegrityError: Could not load auth.User(pk=None): duplicate key value violates unique constraint "auth_user_username_key"
DETAIL: Key (username)=(JoeBob) already exists.
如何加载 JSON 数据,以便它只创建相应自然键尚不存在的记录?据说,Django 的 auth.User 模型确实支持自然键。