Het lijkt erop dat django dumpdata armaturen in de verkeerde volgorde heeft gedumpt. Kijk in het json-bestand om te controleren of product
met id: 1
is daar aanwezig. Als dit, zoals ik veronderstel, waar is, gebruik dan wat meer geavanceerde tools om gegevens te dumpen, bijvoorbeeld django-fixture-magic
Als alternatief kunt u alle integriteitsbeperkingen verwijderen met behulp van de db-engine vlak voor het uploaden en proberen ze direct daarna opnieuw aan te maken, maar dit is enigszins riskant als er integriteitsfouten aanwezig zijn.
Raadpleeg voor PostgreSQL deze thread om te weten hoe u uw tabellendefinities kunt krijgen. In MySQL zou het ongeveer als volgt zijn:
$ mysqldump --no-data -utest django auth_user_user_permissions
CREATE 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 `user_id_refs_id_dfbab7d` 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;
Het volgende deel zou moeten werken voor oracle, postgre en mysql
> alter table `auth_user_user_permissions` drop foreign key `user_id_refs_id_dfbab7d`;
Query OK, 0 rows affected (0.97 sec)
Records: 0 Duplicates: 0 Warnings: 0
> alter table `auth_user_user_permissions` add CONSTRAINT `user_id_refs_id_dfbab7d` FOREIGN KEY (`user_id`) references `auth_user` (`id`);
Query OK, 0 rows affected (0.95 sec)
Records: 0 Duplicates: 0 Warnings: 0