flask_sqlalchemy的查询方法有filter()和filter_()sql
这2个方法的主要区别以下:flask
模块 | 语法 | ><(大于和小于)查询 | and_和or_查询 |
---|---|---|---|
filter_by() | 直接用属性名,比较用= | 不支持 | 不支持 |
filter() | 用类名.属性名,比较用== | 支持 | 支持 |
若要进行模糊查询,须要使用filter()方法api
查询方式:session
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查询方式url
具体使用方法:spa
参考文档:code