我正在尝试对 sqlalchemy 中的查询进行简单的过滤操作,如下所示:
q = session.query(Genotypes).filter(Genotypes.rsid.in_(inall))
在哪里
inall 是一个字符串列表 Genotypes 映射到一个表:class Genotypes(object): pass
Genotypes.mapper = mapper(Genotypes, kg_table, properties={'rsid': getattr(kg_table.c, 'rs#')})
这对我来说似乎很简单,但是当我执行上述查询时出现以下错误q.first()
:
"sqlalchemy.exc.OperationalError: (OperationalError) too many SQL variables u'SELECT" 后跟 inall 列表中 1M 项的列表 。但它们不应该是 SQL 变量,而只是一个列表,其成员资格是过滤条件。
我做的过滤不正确吗?
(数据库是 sqlite)