我有一个像这样的字典:
{'a':1,'b':2,...}
和类似SQL的炼金术表达式
s = select([some columns]\
.where(put here my dict with a==1 and b==2 and ...)\
.group_by(*[some columns])
但是我找不到“ where”部分的正确语法。
正确的方法是什么?
答案 0 :(得分:1)
将您的条件dict转换为可迭代对象,并用and_
运算符将其解压缩。
from sqlalchemy import and_
from sqlalchemy.sql import column
conditions = {'a': 1, 'b':2}
filters = [column(key) == value for key, value in conditions.items()]
s = select([some columns]\
.where(and_(*filters))\
.group_by(*[some columns])
答案 1 :(得分:0)
在我的情况下,使用两个where子句从表中选择数据
def get_trade_images_by_trade(self,a,b):
stmt = select([self.table_name]).where(self.table_name.c.column_name.in_([a]))
stmt = stmt.where(self.table_name.c.column_name.in_([b]))
print(stmt)
result = engine.execute(stmt)
return result