【发布时间】:2016-08-25 06:13:27
【问题描述】:
我需要使用动态列及其值动态生成/构建 sqlalchemy 查询。
示例 - 我在 SQL 中有一个名为“Convo”的表,它有类似的列 - UserID、ConvoID、ConvoID。
我需要根据以下条件获取行。
criteria = (('UserID', 2), ('ConvoID', 1) ,('ContactID', 353))
我为此使用了“烘焙查询”逻辑。但是有些我无法成功运行此查询。
下面是我的代码。
criteria = (('UserID', 2), ('ConvoID', 1) ,('ContactID', 353))
baked_query = bakery(lambda session: session.query(tablename))
for key1 in condition:
baked_query += lambda q: q.filter(tablename.key1 == condition[key1])
result = baked_query(self.session).all()
我收到错误 -
AttributeError: type object 'Convo' has no attribute 'key1'
请帮我解决这个问题
【问题讨论】:
-
您可能想要
getattr(tablename, key1)而不是tablename.key1。
标签: python sqlalchemy