Я хочу удалить родительскую строку, если связанные строки в дочерних таблицах были удалены.
class Child(Base):
__tablename__ = "children"
id = Column(Integer, primary_key=True)
parent_id = Column(Integer, ForeignKey("parents.id", ondelete='CASCADE'))
class Parent(Base):
__tablename__ = "parents"
id = Column(Integer, primary_key=True)
child = relationship(Child, backref="parent", passive_deletes=True)
Если я уберу ребенка
child_obj = session.query(Child).first()
session.delete(child_obj)
session.commit()
Он удаляет дочерний объект, но родитель остается таким, какой он есть. Я также хочу удалить родителя с помощью каскадирования.