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模糊查询的主要内容,如果未能解决你的问题,请参考以下文章

mybatis模糊查询

如何在 flask_sqlalchemy 中查询 ScalarListType

flask_SQLALchemy之多表查询

flask_sqlalchemy获取动态 model名称 和 动态查询

搞懂flask_sqlalchemy常用操作

搞懂flask_sqlalchemy常用操作