程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Django REST Framework----篩選

編輯:Python

Django REST Framework----路由匹配

  • 一、功能
  • 二、安裝及配置
  • 三、篩選類(新建文件filter.py)
  • 四、在視圖中添加
  • 五、模糊查詢
  • 六、時間段

一、功能

對某一字段篩選
注:不是模糊篩選的都是完全匹配。

二、安裝及配置

  1. 安裝
pip install django-filter==21.1

注:該版本為21.1,其它版本不可以用
2. 配置
在settings.py中的INSTSLL_APPS添加

'django_filters',

三、篩選類(新建文件filter.py)

from django_filters import FilterSet
from .models import 庫名
class 庫名Filter(FilterSet):
class Meta:
model = Faculty
fields = ('字段',)
#注:要篩選的字段

四、在視圖中添加

from django_filters.rest_framework import DjangoFilterBackend
from .filter import 庫名Filter
class 庫名ViewSet(ModelViewSet):
queryset = 庫名.objects.all()
serializer_class = 庫名Serializer
filter_backends = (DjangoFilterBackend,)
#為個性化視圖設置,也可以全局設置
filter_class = 庫名Filter

全局設置filter_backends

#在settings.py中添加
REST_FRAMEWORK = {

'DEFAULT_FILTER_BACKENDS':[
'django_filters.rest_framework.DjangoFilterBackend',
],
}

五、模糊查詢

注:在篩選類中重寫篩選代碼

from django_filters import FilterSet,filters
from .models import 庫名
#filters是模糊查詢類
class FacultyFilter(FilterSet):
字段名= filters.CharFilter(field_name='字段名',lookup_expr='icontains')
class Meta:
model = 庫名
fields = ('字段名',)

六、時間段


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved