Assume only two columns(name and id) are needed from a table. I would code something like below:
session.query(User.id, User.name).all()
But if the column names are dynamic,
def get_data(table, columns):
return session.query(*(getattr(table, column) for column in columns)).all()
But the above one looks ugly. Is there a better recommended way?
You can get use of select():
from sqlalchemy.sql import select
columns = ['id', 'name']
print(session.query(select(from_obj=User, columns=columns)).all())
Hope that helps.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With