Tôi có mối quan hệ nhiều đến một giữa bảng Userownedshare
và bảng Share
.Quy tắc phụ thuộc đã cố gắng xóa trống cột khóa chính trong SQL-Alchemy khi cố gắng xóa bản ghi
Khi tôi xóa một mục Userownedshare
từ cơ sở dữ liệu tôi nhận được lỗi sau: AssertionError: Dependency rule tried to blank-out primary key column 'share.ticker'
này có ý nghĩa như ticker
trường trong Userownedshare là một khoá ngoại trong bảng Share
. Tuy nhiên tôi không thể tìm ra cách khắc phục lỗi này. Tôi nghĩ rằng tôi muốn thiết lập một tầng tầng xóa khi một mục nhập Share
là mồ côi nhưng tôi không thể làm việc ra làm thế nào để làm điều này, tôi đã đọc tài liệu nhưng tôi chỉ kết thúc với các loại khác nhau của các lỗi vì vậy tôi nghĩ rằng tôi đang thiếu một cái gì đó tầm thường . Hy vọng ai đó có thể giúp đỡ, cảm ơn!
Đây là mã của tôi:
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])