排序
按照字段要求顺序进行排序
?ordering=-price # 倒叙
from rest_framework.filters import OrderingFilter
class GoodView2(ListAPIView):
queryset = Goods.objects.all()
serializer_class = GoodsSerializers2
filter_backends = [OrderingFilter] # 排序过滤器
# 指定排序字段
ordering_fields = ['price','number']
限流
匿名用户全局限流
REST_FRAMEWORK = {
'DEFAULT_THROTTLE_CLASSES': (
# 限制所有匿名未认证用户,使用IP区分用户
'rest_framework.throttling.AnonRateThrottle',
),
'DEFAULT_THROTTLE_RATES': {
# 可以使用 second, minute, hour 或day来指明周期
'anon': '3/minute',
}
}
匿名用户局部限流
from rest_framework.throttling import AnonRateThrottle
class GoodView2(ListAPIView):
queryset = Goods.objects.all()
serializer_class = GoodsSerializers2
filter_backends = [SearchFilter,OrderingFilter] # 指定使用过滤引擎 # 排序过滤器
search_fields = ['kind__kind_name','kind__id','name'] # 指定过滤字段
# 指定排序字段
ordering_fields = ['price','number']
# 局部限流
throttle_classes = [AnonRateThrottle]
配置
REST_FRAMEWORK = {
'DEFAULT_THROTTLE_RATES': {
# 可以使用 second, minute, hour 或day来指明周期
'anon': '3/minute',
}
}