【发布时间】:2014-05-14 20:49:15
【问题描述】:
我有两个具有多对多关系的模型(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))
以及如何获得“父母的所有孩子”?
【问题讨论】:
-
仔细阅读文档...
parent = session.query(Parent).get(id=1)然后for children in parent.children: print children
标签: python sql sqlalchemy