【发布时间】:2021-12-14 10:58:58
【问题描述】:
给定一个列名列表,例如:
cols = ['a', 'b', 'c']
我想构建一个 sqlalchemy ORM 查询,相当于:
q = db.query(Foo.a, Foo.b, Foo.c)
当然我可以只使用查询:
q = db.query(Foo)
...,将每个结果行转换为字典,并使用上面的列名列表作为键从中提取值。我宁愿不这样做,因为我只需要一张大表中的几列,而且我想避免开销。
【问题讨论】:
-
q = db.query(*[getattr(Foo, attr) for attr in cols])怎么样? -
谢谢,这是我最终自己想出的更优雅的单行版本。
标签: python sqlalchemy