1. 程式人生 > 實用技巧 >drf之過濾與排序

drf之過濾與排序

一、過濾

  1、需要另外安裝django的過濾模組:pip install django-filter。

  2、需要在setting.py中註冊。

  3、配置過濾器:

    ①全域性配置,setting.py中:

REST_FRAMEWORK = {
    'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',)
}

    ②區域性配置,檢視類中:

filter_backends:[DjangoFilterBackend,]

  4、設定過濾欄位,檢視類中:

filter_fields = ('
name','age')

  5、使用:.../?name=xxx,可以使用設定了的過濾欄位的一個或多個。

二、排序

  1、全域性配置排序器,setting.py中:

REST_FRAMEWORK = {
    'DEFAULT_FILTER_BACKENDS': ('frest_framework.filters.OrderingFilter',)
}

  2、區域性配置排序器,檢視類中:

filter_backends:[OrderingFilter,]

  3、設定排序欄位,檢視類中:

ordering_fields = ('id', 'age')

  4、使用:.../?ordering=id,此為正序排列,寫成<-id>,為反序,可以使用設定了的排序欄位的任意一個。

三、過濾器和排序器可以一起使用,先過濾再排序。