假设表中只需要两列(name和id)。我会编写如下代码:
session.query(User.id, User.name).all()
但如果列名是动态的,
def get_data(table, columns):
return session.query(*(getattr(table, column) for column in columns)).all()
但上面看起来很难看。有更好的推荐方式吗?
答案 0 :(得分:5)
您可以使用select():
columns = ['id', 'name']
print session.query(select(from_obj=User, columns=columns)).all()
希望有所帮助。