【flask_sqlalchemy】模糊查詢

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

SQLAlchemy中filter_by()和filter()的用法區別

相關文章
相關標籤/搜索