DRF中限流 過濾 排序 分頁

2022-07-12 05:21:14 字數 4229 閱讀 7200

目錄3.排序

4.分頁

settings.py中配置

rest_framework = ,

}

rest_framework = ,

# 過濾器後端

'default_filter_backends': [

'django_filters.rest_framework.djangofilterbackend',

# 'django_filters.rest_framework.backends.djangofilterbackend', 包路徑有變化],}

rom .models import *

from .views import *

from rest_framework import serializers

class actorserializers(serializers.modelserializer):

class meta:

model = actor

fields = '__all__'

depth = 1 #外來鍵序列化

from rest_framework.viewsets import modelviewset

from .models import *

from .serializers import *

from django_filters.rest_framework import djangofilterbackend

class actormodelview(modelviewset):

queryset = actor.objects.all()

serializer_class = actorserializers

# 過濾

filter_backends = (djangofilterbackend)

# 過濾的字段

# 過濾器後端

'default_filter_backends': [

'django_filters.rest_framework.djangofilterbackend',

# 'django_filters.rest_framework.backends.djangofilterbackend', 包路徑有變化

],# 5.1過濾排序(全域性):filtering 過濾排序

'search_param': 'age',

'ordering_param': 'ordering',

'num_proxies': none,

}

rom .models import *

from .views import *

from rest_framework import serializers

class actorserializers(serializers.modelserializer):

class meta:

model = actor

fields = '__all__'

depth = 1 #外來鍵序列化

from rest_framework.viewsets import modelviewset

from .models import *

from .serializers import *

from django_filters.rest_framework import djangofilterbackend

from rest_framework.filters import orderingfilter

class actormodelview(modelviewset):

queryset = actor.objects.all()

serializer_class = actorserializers

# 支援過濾 與 排序

filter_backends = (djangofilterbackend, orderingfilter)

# 過濾的字段

filter_fields = ('name', 'phone')

# 排序的字段

# 過濾器後端

'default_filter_backends': [

'django_filters.rest_framework.djangofilterbackend',

# 'django_filters.rest_framework.backends.djangofilterbackend', 包路徑有變化

],# 5.1過濾排序(全域性):filtering 過濾排序

'search_param': 'age',

'ordering_param': 'ordering',

'num_proxies': none,

}

rom .models import *

from .views import *

from rest_framework import serializers

class actorserializers(serializers.modelserializer):

class meta:

model = actor

fields = '__all__'

depth = 1 #外來鍵序列化

from rest_framework.viewsets import modelviewset

from .models import *

from .serializers import *

from django_filters.rest_framework import djangofilterbackend

from rest_framework.filters import orderingfilter

from rest_framework.pagination import pagenumberpagination

# 區域性自定義分頁

class pagenum(pagenumberpagination):

# 代表每頁返回資料數量的引數,預設值: none

page_size_query_param = 'page_size'

# 代表頁碼的引數,預設值: page

page_query_param = 'page'

# 一頁中最多顯示的條數

# max_page_size = 2

# 每頁顯示條數

page_size = 2

class actormodelview(modelviewset):

queryset = actor.objects.all()

serializer_class = actorserializers

# 分頁

pagination_class = pagenum

# 過濾 與 排序

filter_backends = (djangofilterbackend, orderingfilter)

# 過濾的字段

filter_fields = ('name', 'phone')

# 排序的字段

drf 過濾與排序

drf中如果想在url中直接寫過濾與排序,則需要安裝第三方模組。pip install django filter其次你需要將該模組註冊進行django配置檔案中。rest framework django filters 以下是一張書籍表和資料,我可能通過書名查,也可能通過 查詢。可能通過 排序,...

DRF的過濾與排序

對於列表資料可能需要根據字段進行過濾,我們可以通過新增django filter擴充套件來增強支援。pip install django filter 在配置檔案中增加過濾後端的設定 django filters 需要註冊應用,在settings檔案中配置 rest framework 檢視中指定要...

DRF 過濾 搜尋 排序功能

過濾功能利用的是第三方包 django filters,搜尋和排序利用的是 django drf 提供的 filters 示例 如下 from rest framework import filters 搜尋和排序功能 注意 這兩個是 drf 提供的功能 from django filters.re...