有一组表格,所有表格都有一个确定名称的列,例如“ColA'”。我正在尝试编写一个函数,该函数将特定的where
子句附加到该列的SqlAlchemy语句(Insert
,Select
,Update
)。 / p>
期望的结果:
我希望结果像这样工作(我需要的功能是somehow_get_table
):
def attach_where(statement, val):
return statement.where(somehow_get_table(statement).c.ColA == val)
statement = select([table1.c.col1, table1.c.col2])
print statement
>>> SELECT col1, col2 FROM table1
print attach_where(statement, 1)
>>> SELECT col1, col2 FROM table1 WHERE ColA = 1
我想到的可能的解决方案:
Column
个对象的列表,并选择该列所属的一个(或所有)表,并将其用于where
。我认为1号更好但我可能错了,我觉得应该有更好的做法。这样做的好方法是什么?