如何使用sqlalchemy查询数组中的特定列?

时间:2019-01-02 19:39:12

标签: python sqlalchemy

我正在构建一个Flask应用程序,需要从我的数据库模型中获取一个字典。该查询应按user_ids进行过滤,并且仅查询几行。我猜最好的方法是过滤行,并使用内部__dict__对象返回我的字典。目前,我知道如何按ID进行过滤,但是我不知道如何选择特定的行。 Users.query.filter(Users.id.in_(user_ids)).all()

行数组看起来像 rows = ["username", "role", "last_seen"]

有什么想法怎么做?

1 个答案:

答案 0 :(得分:2)

load_only应该会做:

from sqlalchemy.orm import load_only
rows = ["username", "role", "last_seen"]
session.query(Users).filter(Users.id.in_(user_ids)).options(load_only(*rows)).all()