5
私は自分の初期データがあるseed_data.json
の備品を持っています。Django:データを更新するためのloaddata
時々、私はこのフィクスチャに新しいデータを追加し、それをリロードしてデータを正しく更新します。
ただし、ここからデータを削除したいと考えています。
{"fields": {"name": "Field 0"},"model": "catalog.product","pk": 1},
{"fields": {"name": "Field 1"},"model": "catalog.product","pk": 2},
{"fields": {"name": "Field 2"},"model": "catalog.product","pk": 3},
# ...
になった:
{"fields": {"name": "Field 1"},"model": "catalog.product","pk": 1},
{"fields": {"name": "Field 2"},"model": "catalog.product","pk": 2},
# ...
しかし、私は取得しています:
django.db.utils.IntegrityError: Problem installing fixture .....\seed_data.json
Could not load catalog.Product(pk=2): column name is not unique
seed_data.json
を修正しました
データを追加するときに問題はありませんが、一部を削除しようとすると、主キーとの競合が発生します。
私は何をしようとしていますか?
実際にアプリケーションの初期データを変更するには、データベースを消去する必要がありますか? – Ellone
はい、もちろんです。それが「イニシャル」と呼ばれる理由です。 –
そうですが、アプリケーションを更新すると、初期データに若干の変更が加えられることがあります。また、データベースを消去すると、初期ではないデータも削除されます。 adminインターフェイスを使用することはできますが、レコード上にきれいなプライマリキーを保存したいと考えています – Ellone