我正在构建一个Flask应用程序,需要从我的数据库模型中获取一个字典。该查询应按user_ids进行过滤,并且仅查询几行。我猜最好的方法是过滤行,并使用内部__dict__
对象返回我的字典。目前,我知道如何按ID进行过滤,但是我不知道如何选择特定的行。 Users.query.filter(Users.id.in_(user_ids)).all()
行数组看起来像
rows = ["username", "role", "last_seen"]
有什么想法怎么做?
答案 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()