1

JSON ファイル sample.json があります。

[
    {
        "pk": null, 
        "model": "auth.user", 
        "fields": {
            "username": "JoeBob"
        }
    }
]

username を持つ auth.User モデルが既にありますJoeBob

これを 経由manage.py loaddata sample.jsonで Django アプリにロードすると、レコードが存在しない場合はレコードが作成されるか、そうでない場合は何もしないと予想されます。この場合、何もしないでください。

ただし、重複レコードを作成しようとしているようで、エラーが返されます。

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 モデルは Natural keys をサポートしています

4

1 に答える 1