sqlalchemy动态串联列

时间:2018-09-06 11:01:05

标签: python sqlalchemy

我想通过串联多个列来创建标量。如果列列表是静态的,我可以这样做:

sa.select([table.c.col1 + table.c.col2 + 'done']).as_scalar()

但是,我的名单是动态的。有没有不用eval()来做到这一点的方法?

1 个答案:

答案 0 :(得分:0)

您几乎不需要eval()-它可以是evil。在这种情况下,只需在列/表达式列表上使用functools.reduce()

sa.select([reduce(operator.add, [table.c.col1, table.c.col2, 'done'])])