我对SQLAlchemy还是个新手(一般来说,我对数据库没有太多的经验)。我试着穿越两个多对多的关系。有了父母,我怎么能得到所有独一无二的孙子?在
parent_child_table = Table('parent_child', Base.metadata,
Column('parent_id', Integer, ForeignKey('parent.id')),
Column('child_id', Integer, ForeignKey('child.id'))
)
class Parent(Base):
__tablename__ = 'parent'
id = Column(Integer, primary_key=True)
children = relationship("Child",
secondary=parent_child_table,
backref="parents")
child_grandchild_table = Table('child_grandchild', Base.metadata,
Column('child_id', Integer, ForeignKey('child.id')),
Column('grandchild_id', Integer, ForeignKey('grandchild.id'))
)
class Child(Base):
__tablename__ = 'child'
id = Column(Integer, primary_key=True)
grandchildren = relationship("Grandchild",
secondary=child_grandchild_table,
backref="children")
class Grandchild(Base):
__tablename__ = 'grandchild'
id = Column(Integer, primary_key=True)
谢谢!这个问题让我头疼。。。在
最直接的方式是:
sqlalchemy
将只返回唯一的Grandchild
实例(尽管SQL查询不会筛选出重复的实例)。在相关问题 更多 >
编程相关推荐