gpt4 book ai didi

python - 如果它是通过 query_property 创建的,是否可以缩小 SQLAlchemy 中生成的查询的范围?

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:27 26 4
gpt4 key购买 nike

我还有一个关于 SQLAlchemy 的快速问题。

如果我在我的 SQLAlchemy Table 类中添加了一个 query_property [1] 字段,是否可以缩小 SELECTed 字段的范围?

这就是我的意思。

假设我的类(class) Comments 有这个:

class Comments:
query = Session.query_property()
...

然后如果我执行以下操作:

>>> print Session.query(Comment)                      

然后 SQLAlchemy 生成以下查询,其中包括我的 comments 表中的所有列:

SELECT comments.comment_id AS comments_comment_id,
comments.comment AS comments_comment
... more columns ...
FROM comments

但我想缩小此查询的范围并仅选择(比方说)comment 字段,如以下结构所示:

>>> print Session.query(Comment.comment)   
SELECT comments.comment AS comments_comment
FROM comments

是否可以通过 Comment.query 构造来实现?

我尝试了以下方法,但没有用:

>>> print Comment.query(Comment.comment)                
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'Query' object is not callable

请帮我提个建议。

谢谢,Boda Cydo。

[1] http://www.sqlalchemy.org/docs/reference/orm/sessions.html#sqlalchemy.orm.scoping.ScopedSession.query_property

最佳答案

尝试使用 query.values(Comment.comment)。请注意,它返回生成器,而不是修改后的查询,因此应在应用所有过滤器后最后调用此方法。

关于python - 如果它是通过 query_property 创建的,是否可以缩小 SQLAlchemy 中生成的查询的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2128809/

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