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])

Respuestas a la pregunta(1)

Su respuesta a la pregunta