首页 > 解决方案 > SQL Alchemy - 从一个实体上的多个一对一关系中删除孤儿

问题描述

我在一张桌子上定义了这两个一对一的关系。

    home_lineup_id = Column(Integer, ForeignKey("Lineup.id"))
    home_lineup = relationship("Lineup", foreign_keys=[home_lineup_id], cascade="all, delete-orphan", single_parent=True)
    guest_lineup_id = Column(Integer, ForeignKey("Lineup.id"))
    guest_lineup = relationship("Lineup", foreign_keys=[guest_lineup_id], cascade="all, delete-orphan", single_parent=True)

很明显,我希望删除孤儿功能起作用。这个解决方案相当奇怪地只删除了第一个关系中大概有一半的阵容。

有什么办法可以做到这一点?

编辑:我正在使用 PostgreSQL。

标签: python-3.xpostgresqlsqlalchemycascading-deletes

解决方案


事实证明,这段代码完全没问题,可以按预期工作。这只是别处的一个错字。


推荐阅读