首页 > 解决方案 > 过滤列表的百分比 - Sqlalchemy

问题描述

这是一个列表 filter_value= [a, b, c] session.query.filter(mytable.column.in_(filter_value)).all()

在这种情况下,过滤器将返回与列表中每个项目完全相同的值 (filter_value)。

但是,我想要像 SQL 中的过滤器,例如 select *from mytable where column like a%, b%, c%, ...% 我的意思是“喜欢列表中的每个元素”。对不起,如果我解释不好我会怎么做?非常感谢

标签: pythonsqlalchemyflask-sqlalchemyflask-restful

解决方案


我假设您的意思是 SQL LIKE,我认为这适用于 id 作为字符串。

session.query(MyUserClass).filter(or_(*[MyUserClass.id.like(prefix + '%') for prefix in filter_list]))

推荐阅读