La regla de dependencia intentó dejar en blanco la columna de clave principal en SQL-Alchemy al intentar eliminar el registro
Tengo una relación de muchos a uno entre elUserownedshare
mesa y elShare
mesa.
Cuando borro unUserownedshare
entrada de la base de datos me sale el siguiente error:AssertionError: Dependency rule tried to blank-out primary key column 'share.ticker'
Esto tiene sentido ya que elticker
campo en Userownedshare es una clave externa en elShare
mesa. Sin embargo, no puedo resolver cómo solucionar este error. Creo que quiero configurar una eliminación en cascada cuando unShare
La entrada está huérfana, pero no puedo resolver cómo hacerlo, he leído la documentación pero acabo con diferentes tipos de errores, así que creo que me falta algo trivial. Espero que alguien pueda ayudar, gracias!
Aquí está mi código:
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])