【发布时间】:2016-05-04 14:28:20
【问题描述】:
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])
【问题讨论】:
标签: python python-2.7 flask sqlalchemy flask-sqlalchemy