Parece que django dumpdata descargó los accesorios en el orden incorrecto. Mire en el archivo json para verificar si product
con id: 1
está presente allí. Si, como supongo, esto es cierto, use algunas herramientas más sofisticadas para volcar datos, por ejemplo django-fixture-magic
Alternativamente, es posible que desee eliminar todas las restricciones de integridad mediante el motor de base de datos justo antes de la carga e intentar recrearlas inmediatamente después, pero esto es algo arriesgado si se presentan algunos errores de integridad.
Para PostgreSQL, consulte este hilo para saber cómo obtener las definiciones de sus tablas. En MySQL sería algo como lo siguiente:
$ 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;
La siguiente parte debería funcionar para oracle, postgre y 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