समाधान मिल गया।
विदेशी कुंजी बाधा जांच को रोकने के लिए मुझे टेबल पर ट्रिगर्स को अक्षम करना पड़ा।
ट्रिगर अक्षम करें
def disable_triggers(self):
with connection.cursor() as cursor:
cursor.execute('ALTER TABLE "Table Name" DISABLE TRIGGER ALL;')
ट्रिगर सक्षम करें
def enable_triggers(self):
with connection.cursor() as cursor:
cursor.execute('ALTER TABLE "Table Name" ENABLE TRIGGER ALL;')
महत्वपूर्ण नोट :
-
इस दस्तावेज़ लिंक के अनुसार , आप
execute()
. के दूसरे तर्क के रूप में एक सूची पास कर सकते हैं विधि (उदाहरण:आप तालिका नाम को गतिशील रूप से पास करना चाहते हैं), लेकिन यह स्वचालित रूप से चर से बच जाएगा और आप एक वाक्य रचनात्मक रूप से गलत PostgreSQL क्वेरी बना सकते हैं (जिसे इसे ठीक करने में मेरा बहुत समय लगा) -
सुनिश्चित करें कि आपने ट्रिगर्स को ठीक से चालू कर दिया है
-
अगर आपको अनुमति अस्वीकृत त्रुटि . मिल रही है तब आप DB उपयोगकर्ता अनुमतियों की जाँच करना चाह सकते हैं, मैंने अभी PgAdmin से सुपरयुसर अनुमतियाँ चालू की हैं, जो मेरे लिए ठीक थी। और सब कुछ काम पर वापस। इसे कैसे करें?