我想通过串联多个列来创建标量。如果列列表是静态的,我可以这样做:
sa.select([table.c.col1 + table.c.col2 + 'done']).as_scalar()
但是,我的名单是动态的。有没有不用eval()
来做到这一点的方法?
答案 0 :(得分:0)
您几乎不需要eval()
-它可以是evil。在这种情况下,只需在列/表达式列表上使用functools.reduce()
:
sa.select([reduce(operator.add, [table.c.col1, table.c.col2, 'done'])])