排序
from rest_framework.filters import OrderingFilter
class Student2View(ListAPIView):
queryset = Student.objects.all()
serializer_class = StuSerializers2
filter_backends = [SearchFilter,OrderingFilter] # 指定过滤器
search_fields = ['province__id','province__pro_name'] # 选择需要进行过滤的字段
ordering_fields = ['score'] # 选择进行排序的字段
# http://127.0.0.1:8000/students/?ordering=score
匿名用户全局限流
REST_FRAMEWORK = {
'DEFAULT_THROTTLE_CLASSES': (
# 限制所有匿名未认证用户,使用IP区分用户
'rest_framework.throttling.AnonRateThrottle',
),
'DEFAULT_THROTTLE_RATES': {
# 可以使用 second, minute, hour 或day来指明周期
# 3/minute:每分钟三次访问次数
'anon': '3/minute',
}
}
匿名用户局部限流
REST_FRAMEWORK = {
'DEFAULT_THROTTLE_RATES': {
# 可以使用 second, minute, hour 或day来指明周期
'anon': '3/minute',
}
}
from rest_framework.throttling import AnonRateThrottle
class Student2View(ListAPIView):
queryset = Student.objects.all()
serializer_class = StuSerializers2
# AnonRateThrottle对匿名用户进行限制
throttle_classes = [AnonRateThrottle]