0
我正在寻找一种方法来查询SQLAlchemy中的一对多关系链。鉴于以下车型(基本是一种声明的基础):SQLAlchemy查询一对多关系链
class Book(Base):
id = Column(Integer, primary_key=True)
chapters = relationship("Chapter", backref="book")
class Chapter(Base):
id = Column(Integer, primary_key=True)
book_id = Column(Integer, ForeignKey(Book.id))
pages = relationship("Page", backref="chapter", lazy="dynamic")
class Page(Base):
id = Column(Integer, primary_key=True)
chapter_id = Column(Integer, ForeignKey(Chapter.id))
我需要他们正在与(通过章)相关的图书查询页面实体。但是,
Page.query.filter(Page.chapter.book_id == 1)
在这种情况下不起作用。 Pages的数量非常大(因此在查询章节时参数lazy="dynamic"
),并且我不想通过将book_id
列添加到Page表中来解除规范化。