flask_sqlalchemy模糊查询
Posted wangju003
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask_sqlalchemy模糊查询相关的知识,希望对你有一定的参考价值。
flask_sqlalchemy的查询方法有filter()和filter_()
这2个方法的主要区别如下:
模块 | 语法 | ><(大于和小于)查询 | and_和or_查询 |
---|---|---|---|
filter_by() | 直接用属性名,比较用= | 不支持 | 不支持 |
filter() | 用类名.属性名,比较用== | 支持 | 支持 |
若要进行模糊查询,需要使用filter()方法
查询方式:
objs = db_model.query.filter(db_model.api_url.like(\'%{keyword}%\'.format(keyword=keyword))).all()
写成函数:
def update_like(self,keyword):
\'\'\'模糊查询\'\'\'
objs = self.db_model.query.filter(self.db_model.api_url.like(\'%{keyword}%\'.format(keyword=keyword))).all()
obj_num = len(objs)
for obj in objs:
if obj.unusual==\'True\':
obj_num=obj_num-1
else:
obj.unusual=\'True\'
db.session.commit()
return \'%d条记录被更新\'%obj_num
filter()方法支持 like,in ,not in ,and or查询方式
具体使用方法:
参考文档:
SQLAlchemy中filter_by()和filter()的用法区别
以上是关于flask_sqlalchemy模糊查询的主要内容,如果未能解决你的问题,请参考以下文章
如何在 flask_sqlalchemy 中查询 ScalarListType