我还有一个关于SQLAlchemy的快速问题。
如果我在SQLAlchemy Table类中添加了query_property
[1]字段,是否可以缩小SELECTed字段的范围?
这就是我的意思。
假设我的班级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。
答案 0 :(得分:1)
尝试使用query.values(Comment.comment)
。请注意,它返回生成器,而不是修改后的查询,因此应用所有过滤器后应该调用此方法。