我有2个相互关联的表(用户,关注者)。
现在,删除用户后,具有相似用户的所有数据将从“关注者”表中删除。
用户模型:
class User():
id = Column(Integer, primary_key=True)
username = Column(String(32), nullable=False, unique=True)
followed = relationship(
'User',
secondary='followers',
primaryjoin='User.id == followers.c.follower_id',
secondaryjoin='User.id == followers.c.followed_id',
backref=backref('followers', lazy='dynamic'),
lazy='dynamic',
cascade='all, delete, delete-orphan',
single_parent=True,
)
跟随者模型:
class Followers():
id = Column(Integer, primary_key=True)
follower_id = Column(Integer, ForeignKey('users.id'), nullable=False)
followed_id = Column(Integer, ForeignKey('users.id'), nullable=False)
仅当用户ID与follower_id
列中的ID相匹配时,如何才能指定删除数据?
一种解决方案是,我可以从ForeignKey
中删除followed_id
,但是我需要将此列与用户相关。