Django REST framework搜索過濾的使用方法

Django REST framework搜索過濾的使用方法
第一步:設置過濾類型;

from rest_framework import filters  # 引入drf的過濾類
filter_backends = (filters.SearchFilter, )  # 搜索功能,SearchFilter是搜索過濾

其他過濾類型:
DjangoFilterBackend是精確過濾,屬於django的filter;
SearchFilter是搜索過濾;
OrderingFilter是排序過濾。

第二步:設置搜索字段,可以跨表查詢(存在一對多或多對多的表);

search_fields = ('title', 'brief', "topic_tags__tag_name")

注意:topic_tags__tag_name是主題標籤表的tag_name字段;

注意:可以結合正則表達式,寫出更豐富的搜索過濾,具體參考官方文檔。
Django REST framework官方文檔:
http://www.django-rest-framework.org/api-guide/filtering/#searchfilter
Django官方檔:
https://docs.djangoproject.com/en/2.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.search_fields

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章