Правило зависимости пыталось очистить столбец первичного ключа в SQL-Alchemy при попытке удалить запись
У меня есть отношения много к одному междуUserownedshare
стол иShare
Таблица.
Когда я удаляюUserownedshare
При входе из базы данных я получаю следующую ошибку:AssertionError: Dependency rule tried to blank-out primary key column 'share.ticker'
Это имеет смысл какticker
поле в Userownedshare является внешним ключом в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])