Mam wiele do jednego związku między tabelą Userownedshare
a tabelą Share
.Reguła zależności próbowała wyzerować kolumnę klucza podstawowego w SQL-Alchemy podczas próby usunięcia rekordu
Gdy usunę Userownedshare
wpis z bazy danych pojawia się następujący błąd: AssertionError: Dependency rule tried to blank-out primary key column 'share.ticker'
to sens jako pole w Userownedshare ticker
jest kluczem obcym w tabeli Share
. Jednak nie mogę się dowiedzieć, jak naprawić ten błąd. Myślę, że chcę ustawić kaskadowe usuwanie, gdy wpis Share
jest osierocony, ale nie mogę się tego dowiedzieć, przeczytałem dokumentację, ale mam różne błędy, więc myślę, że brakuje mi czegoś banalnego . Mam nadzieję, że ktoś może pomóc, dzięki!
Oto mój kod:
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])