gpt4 book ai didi

python - SQLAlchemy load_only 在父模型上

转载 作者:太空狗 更新时间:2023-10-30 02:27:43 26 4
gpt4 key购买 nike

急切加载子关系时,如何只加载父模型的几列:

如果我只需要 chapters 模型的 title 列,这会起作用:

session.query(Book)\
.options(joinedload('chapters').load_only('title'))

但这会引发错误:

session.query(Book.author)\
.options(joinedload('chapters').load_only('title'))

Query has only expression-based entities - can't find property named 'chapters'.

换句话说,我需要 ORM 语法中的 SQL:

SELECT 
books.author,
chapters.title,
FROM
books JOIN chapters ON book.id = chapters.book_id

最佳答案

错误消息说您只选择了 Book.author,而不是 Book 的实例。如果 chapters 返回的只是一个字符串列表(对于 author),它会去哪里。

你可以这样做:

session.query(Book.author, Chapter.title).select_from(Book).join(Book.chapters)

session.query(Book).options(load_only("author"), joinedload("chapters").load_only("title"))

关于python - SQLAlchemy load_only 在父模型上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39552809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com