django自帶的filter功能只能完成正常的匹配,但是模糊匹配遠遠不能完成。
例如在數據庫中有一個叫“紅燒牛肉麪”的字段,在前端get數據時,輸入“紅燒面”,匹配結果爲空。
使用fuzzywuzzy庫。
具體操作步驟:
安裝fuzzywuzzy庫:
pip install fuzzywuzzy
寫個小例子測試一下
from fuzzywuzzy import fuzz
print(fuzz.ratio("紅燒面", "紅燒牛肉麪"))
返回一個int型數據,範圍爲0-100。
接下來,在django項目中使用
menu_all_list = Menu.objects.all()
for i in menu_all_list:
value = fuzz.token_sort_ratio(text_to_search,i.name)
if value>=40:# 就放到前端顯示
pass
fuzzywuzzy使用說明:https://zhuanlan.zhihu.com/p/53135935