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()的用法區別
