给出列名列表,例如:
cols = ['a', 'b', 'c']
我想建立一个相当于以下内容的sqlalchemy ORM查询:
q = db.query(Foo.a, Foo.b, Foo.c)
我当然可以使用查询:
q = db.query(Foo)
...,将每个结果行转换为dict,并使用上方的列名列表作为键值从中提取值。我不愿意这样做,因为我只需要一个大表中的几列,并且希望避免开销。
答案 0 :(得分:0)
总是有同样的故事:几分钟后,我的大脑被绞尽脑汁,放弃了,问了一个问题,并找到了解决方案:
colspec = [ Foo.__dict__[k] for k in cols ]
q = db.query(*colspec)