选择列与列表SQLAlchemy的元素匹配的行

时间:2015-02-24 08:04:51

标签: python sqlalchemy

我有两个包含以下列的表:

con
---
id
code

pa
---
con_id (foreign key and references con.id)
data

我也有一个清单:

names = ['a', 'b', 'c']

我想加入这两个表来获取一个包含三列的表/视图:

pa.con_id
pa.data
con.code 

并返回con.codenames中元素之一的行。目前,我可以加入我的表并返回所有列:

engine = create_engine('postgresql://postgres:postgres@localhost/db')
metadata = MetaData(bind=engine)
pa = Table('pa', metadata, autoload=True)
contract = Table('contract', metadata, autoload=True)
res = pa.join(contract).select().execute()

但我不知道如何处理与where列表中某个项匹配的names

1 个答案:

答案 0 :(得分:3)

使用in_的{​​{1}}运算符执行Column;然后在您的column in (....)列表的过滤器中使用它。

names