SQL Alchemy中的查询处理 - Python

时间:2015-11-18 18:02:11

标签: python sqlalchemy

我需要使用SQLAlchemy进行动态查询处理。

考虑有一个表有三个字段名称,年龄,城市。

从表中我需要获取具有(s,r,t)字符的城市名称的城市。

对于我所构建的SQLAlchemy Query,如下所示:

query = query.filter(or_(model.city.like('%s%'),model.city.like('%r%'),model.city.like('%t%')))

它按预期工作。

但现在我的问题是在代码执行期间处理值。

因为在我的情况下,需要从python中的列表中获取这些字符。

考虑python list:

['s','m','n']

所以现在这里需要动态地查询列表中的那些值。

我也无法确定列表中的条目数量,因此它应该是动态的。

这里的主要目标是做"喜欢"和"或"在SQLAlchemy中动态。

1 个答案:

答案 0 :(得分:2)

您可以通过_or()方法映射列表字符,并将结果展开到chars = ['s','m','n'] query = query.filter(or_(*map( lambda x: model.city.like('%{}%'.format(x)), chars ))) 。有点像:

admin/edit-contact-form.php