Python 如何从具有多对多关系(SQLAlchemy)的表中检索数据?

Python 如何从具有多对多关系(SQLAlchemy)的表中检索数据?,python,sql,sqlalchemy,Python,Sql,Sqlalchemy,我有两个具有多对多关系(SQLAlchemy)的模型: 获得“一个孩子(名单上第二个孩子)的所有父母”我可以这样: parents = session.query(Parent).filter(Parent.children.any(id=2)) 以及如何获得“父母的所有子女”?以下任何一项都应该做到: # 1. children = session.query(Child).filter(Child.parents.any(Parent.id==??)) # 2. children = se

我有两个具有多对多关系(SQLAlchemy)的模型:

获得“一个孩子(名单上第二个孩子)的所有父母”我可以这样:

parents = session.query(Parent).filter(Parent.children.any(id=2))

以及如何获得“父母的所有子女”?

以下任何一项都应该做到:

# 1.
children = session.query(Child).filter(Child.parents.any(Parent.id==??))
# 2.
children = session.query(Child).join(Parent, Child.parents).filter(Parent.id == 99)
# 3.
my_parent = session.query(Parent).get(2)
children = session.query(Child).with_parent(my_parent).all()

仔细阅读文档
parent=session.query(parent).get(id=1)
then
用于parent中的子项。children:print children
# 1.
children = session.query(Child).filter(Child.parents.any(Parent.id==??))
# 2.
children = session.query(Child).join(Parent, Child.parents).filter(Parent.id == 99)
# 3.
my_parent = session.query(Parent).get(2)
children = session.query(Child).with_parent(my_parent).all()