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 einShareer @ -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])

Antworten auf die Frage(2)

Ihre Antwort auf die Frage