ऐसा लगता है कि django डंपडाटा ने फिक्स्चर को गलत क्रम में डंप किया। यह देखने के लिए कि क्या product
. json फ़ाइल में देखें id: 1
. के साथ वहाँ मौजूद है। अगर, जैसा कि मुझे लगता है, यह सच है, तो डेटा को डंप करने के लिए कुछ और परिष्कृत टूल का उपयोग करें, उदाहरण के लिए django-fixture-magic
वैकल्पिक रूप से, आप अपलोड करने से ठीक पहले db इंजन के माध्यम से सभी अखंडता बाधाओं को हटाना चाहते हैं और ठीक बाद में उन्हें फिर से बनाने का प्रयास कर सकते हैं, लेकिन अगर कुछ अखंडता त्रुटियां मौजूद होंगी तो यह कुछ जोखिम भरा है।
PostgreSQL के लिए, यह थ्रेड देखें अपनी टेबल परिभाषाएं कैसे प्राप्त करें यह जानने के लिए। MySQL में यह कुछ इस प्रकार होगा:
$ 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;
निम्नलिखित भाग को oracle, postgre और 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