Имеются модели со связью многие ко многим (SQLAlchemy):
association_table = Table('association', Base.metadata,
Column('left_id', Integer, ForeignKey('left.id')),
Column('right_id', Integer, ForeignKey('right.id'))
)
class Parent(Base):
__tablename__ = 'left'
id = Column(Integer, primary_key=True)
children = relationship("Child",
secondary="association",
backref="parents")
class Child(Base):
__tablename__ = 'right'
id = Column(Integer, primary_key=True)
Получить "всех родителей одного (второго по списку) ребенка" можно таким способом:
parents = session.query(Parent).filter(Parent.children.any(id=2))
А как получить "всех детей одного из родителей"?