चलो कहते हैं कि मैं दो मॉडलSQLAlchemy अशक्त के रूप में ForeignKey
class EntityModel(DB.Model):
id = DB.Column(DB.Unicode(37), primary_key=True)
class DocumentModel(DB.Model):
id = DB.Column(DB.Unicode(37), primary_key=True)
entity_id = DB.Column(DB.Unicode(37), DB.ForeignKey('entity.id', ondelete='cascade'), nullable=True)
entity = DB.relationship('EntityModel')
है मैं ENTITY_ID शून्य के साथ नए दस्तावेज़ बना सकते हैं करते हैं अनुमति देते हैं। लेकिन एक बार जब मैं उस दस्तावेज़ में वैध entity_id सेट करता हूं तो मैं इसे और अधिक वापस नहीं कर सकता।
Cannot add or update a child row: a foreign key constraint fails
कैसे मैं कुछ दस्तावेज़ में ENTITY_ID को अशक्त सेट कर सकते हैं, अगर यह वैध ENTITY_ID है: मैं त्रुटि मिलती है?
यह संभव है। जिस बिंदु को मैं अपने उत्तर में करने की कोशिश कर रहा था वह यह है कि आपको वास्तव में ऐसा नहीं करना चाहिए। एक पूर्ण कुंजी होने के अनिवार्य रूप से एक अनाथ रिकॉर्ड है। यह प्रबंधन को बाद में जोड़ता है और लगभग हमेशा सफाई की आवश्यकता होती है। JMHO। – rfportilla