Dependency-Regel hat versucht, die Primärschlüsselspalte in SQL-Alchemy auszublenden, wenn versucht wird, Datensatz @ zu lösche
Ich habe eine Beziehung zwischen demUserownedshare
table und dasShare
Tabelle
Wenn ich ein @ löscUserownedshare
eintrag aus der datenbank Ich erhalte die folgende Fehlermeldung:AssertionError: Dependency rule tried to blank-out primary key column 'share.ticker'
Dies macht Sinn alsticker
-Feld in Userownedshare ist ein Fremdschlüssel imShare
Tabelle. Ich kann jedoch nicht herausfinden, wie dieser Fehler behoben werden kann. Ich denke, dass ich eine kaskadierende Löschung einrichten möchte, wenn einShare
er @ -Eintrag ist verwaist, aber ich kann nicht herausfinden, wie das geht. Ich habe die Dokumentation gelesen, erhalte jedoch verschiedene Arten von Fehlern, sodass ich glaube, dass mir etwas Triviales fehlt. Hoffe jemand kann helfen, danke!
Hier ist mein Code:
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])