指定 filter_backends,并设定用来排序的字段 ordering_fields 即可。
from rest_framework import viewsets
from .models import Category
from .serializers import CategorySerializer
from rest_framework.filters import OrderingFilter
class CategoryViewSet(viewsets.ModelViewSet):
queryset = Category.objects.all()
serializer_class = CategorySerializer
filter_backends = [OrderingFilter]
ordering_fields = ('id', 'sort')
# http://localhost:8000/categories/?ordering=-sort