我正在寻找一个方法来查询SQLAlchemy的一对一关系链。 鉴于以下模式(Base是一个声明基础):
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)
在此情况下不工作 。 页面的数量相当大( 在查询章节时使用 < code> lazy=" 动态" code> 参数), 我不想通过在页面表格中添加一个 < code> book_ id code > 列来去正常化 。