假设我有以下关系:
{cda}和{cda}的关联是slide。在
一张幻灯片可以在许多引用中使用(使用不同的组):主键是slide_id
+group_id
,它必须是唯一的。在
我想在删除指向组或幻灯片时删除所有引用。 我在关系的backref中添加了一个级联:
# definition of Reference model
slide = db.relationship(
Slide,
backref=db.backref('references', cascade='all, delete, delete-orphan')
)
group = db.relationship(
Group,
backref=db.backref('references', cascade='all, delete, delete-orphan')
)
我还想删除被引用的组或幻灯片,只要我删除引用,并且没有其他引用使用该组和/或幻灯片。在
我考虑过在需要时使用@listens_for(Reference, 'after_delete')
手动删除父项。我也尝试过属性组合在关系中,但我不确定如何解决这个问题。在
我认为用^{} 的主意不错。你只需要听一下} 。下面是一个可以帮助您的例子。在
Reference
^{让我们检查一下:
^{pr2}$您将看到在第一种情况下,}被删除。因为其他的}无关。但在第二种情况下,您将看到只有
Preference
、Group
和{Preference
与Group
和{Preference
被删除:希望这有帮助。在
相关问题 更多 >
编程相关推荐