>假设一个表中只需要两列(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()
但上面的那个看起来很丑。有没有更好的推荐方法?
你可以使用 select():
from sqlalchemy.sql import select
columns = ['id', 'name']
print(session.query(select(from_obj=User, columns=columns)).all())
希望有帮助。