1 排序
1.1 Ordering-Filter的使用
from rest_framework.filters import OrderingFilter
class StuView(ModelViewSet):
queryset = Student.objects.all()
serializer_class = StuSerializer
filter_backends = [SearchFilter,OrderingFilter]
ordering_fields = ['score']
2 限流
2.1 匿名用户全局限流
REST_FRAMEWORK = {
'DEFAULT_THROTTLE_CLASSES': (
'rest_framework.throttling.AnonRateThrottle',
),
'DEFAULT_THROTTLE_RATES': {
'anon': '3/minute',
'user': '5/minute'
}
}
2.2 匿名用户局部限流
from rest_framework.generics import ListAPIView
from rest_framework.throttling import AnonRateThrottle
class StuView2(ListAPIView):
queryset = Student.objects.all()
serializer_class = StuSerializer2
filter_backends = [SearchFilter]
search_fields = ['province__id','province__pro_name','name']
throttle_classes = [AnonRateThrottle]