को हटाने की कोशिश करते समय निर्भरता नियम एसक्यूएल-कीमिया में प्राथमिक कुंजी कॉलम को खाली करने का प्रयास किया गया है। Userownedshare
तालिका और Share
तालिका के बीच मेरे कई संबंध हैं।रिकॉर्ड
जब मैं डेटाबेस मैं निम्नलिखित त्रुटि मिलती है से एक Userownedshare
प्रविष्टि को हटाने: AssertionError: Dependency rule tried to blank-out primary key column 'share.ticker'
यह समझ में आता है के रूप में Userownedshare में ticker
क्षेत्र Share
तालिका में एक विदेशी कुंजी है। हालांकि मैं इस त्रुटि को ठीक करने का तरीका नहीं समझ सकता। मुझे लगता है कि जब मैं Share
प्रविष्टि अनाथ है, तो मैं एक कैस्केडिंग विलोपन स्थापित करना चाहता हूं लेकिन मैं यह नहीं कर सकता कि यह कैसे करें, मैंने प्रलेखन पढ़ा है, लेकिन मैं सिर्फ विभिन्न प्रकार की त्रुटियों के साथ समाप्त होता हूं, इसलिए मुझे लगता है कि मुझे कुछ तुच्छ याद आ रही है । आशा है कि कोई मदद कर सकता है, धन्यवाद!
यहाँ मेरी कोड है:
class Userownedshare(db.Model):
id = db.Column(db.Integer, primary_key=True)
ticker = db.Column(db.String(20), db.ForeignKey('share.ticker'))
user = db.Column(db.String, db.ForeignKey('user.username'))
quantity = db.Column(db.Integer, nullable=False)
dividends = db.Column(db.Float, server_default="0.0")
triggerlevel = db.Column(db.Integer)
smsalert = db.Column(db.Boolean)
emailalert = db.Column(db.Boolean)
portfolioid = db.Column(db.String(50))
name = db.relationship('Share', backref='userownedshare' , foreign_keys=[ticker])
class Share(db.Model):
id = db.Column(db.Integer)
name = db.Column(db.String(50), nullable=False)
ticker = db.Column(db.String(50), db.ForeignKey('userownedshare.ticker'), primary_key=True)
tickermatch = db.relationship('Userownedshare', backref='share', foreign_keys=[ticker])