【发布时间】:2017-01-25 22:35:34
【问题描述】:
eager加载子关系时,如何只加载父模型的几列:
如果我只需要 chapters 模型的 title 列,则此方法有效:
session.query(Book)\
.options(joinedload('chapters').load_only('title'))
但这会引发错误:
session.query(Book.author)\
.options(joinedload('chapters').load_only('title'))
查询只有基于表达式的实体 - 找不到名为的属性 '章节'。
换句话说,我想要 ORM 语法中的这个 SQL:
SELECT
books.author,
chapters.title,
FROM
books JOIN chapters ON book.id = chapters.book_id
【问题讨论】:
标签: python sql orm sqlalchemy