用于sqlalchemy的布尔搜索表达式解析器
SQLAlchemy-boolean-search的Python项目详细描述
sqlalchemy boolean search转换布尔搜索字符串,例如:
"field1=*something* and not (field2==1 or parent.field3<=10.0)"
进入相应的sqlalchemy查询过滤器:
and_(DataModel.field1.ilike('%something%'), not_(or_(DataModel.field2.__eq__(2), DataModel.parent.field3.__le__(10.0))))
接受“parent.grandrent.name”等关系字段名。
代码稳定,已投入生产,测试覆盖率100%。