djangodumpdataがフィクスチャを間違った順序でダンプしたようです。 jsonファイルを調べて、 product
かどうかを確認します id:1
そこに存在しています。私が思うに、これが本当なら、データをダンプするためにいくつかのより洗練されたツールを使用してください。例えば、 django-fixture-magic
または、アップロードの直前にデータベースエンジンを使用してすべての整合性制約を削除し、直後にそれらを再作成することもできますが、整合性エラーが発生する場合はリスクが伴います。
PostgreSQLについては、このスレッド を参照してください。 テーブル定義を取得する方法を知るため。 MySQLでは、次のようになります。
$ mysqldump --no-data -utest django auth_user_user_permissionsCREATE TABLE `auth_user_user_permissions`(` id` int(11)NOT NULL AUTO_INCREMENT、 `user_id` int(11)NOT NULL、 `permission_id` int(11) NOT NULL、PRIMARY KEY( `id`)、UNIQUE KEY` user_id`(` user_id`、 `permission_id`)、KEY` auth_user_user_permissions_403f60f`( `user_id`)、KEY` auth_user_user_permissions_1e014c8f`( `permission_id`)、CONSTRAINT` FOREIGN KEY( `user_id`)REFERENCES` auth_user`( `id`)、CONSTRAINT `permission_id_refs_id_67e79cb` FOREIGN KEY( `permission_id`)REFERENCES` auth_permission`( `id`))ENGINE =InnoDB DEFAULT CHARSET =utf8;
次の部分は、oracle、postgre、およびmysqlで機能するはずです
> alter table `auth_user_user_permissions` drop external key` user_id_refs_id_dfbab7d`; Query OK、0 rowsaffected(0.97 sec)Records:0 Duplicates:0 Warnings:0> alter table `auth_user_user_permissions` add CONSTRAINT` user_id_refs_id_dfbab7d` KEY( `user_id`)は` auth_user`( `id`);クエリOK、影響を受ける行は0(0.95秒)レコード:0重複:0警告:0