from rest_framework import viewsets from rest_framework import mixins from django_filters.rest_framework import DjangoFilterBackend from rest_framework import filters from apps.goods.models import Goods from apps.goods.serializers import GoodsSerializers from common.mypagination import MyPagination from common.myfilter import MyFilter class GoodsViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, mixins.CreateModelMixin, mixins.UpdateModelMixin, mixins.DestroyModelMixin, viewsets.GenericViewSet): queryset = Goods.objects.all() serializer_class = GoodsSerializers # 分页 # pagination_class = MyPagination #针对viewset的分页设置,也可以走全局 # 筛选 filter_backends = (DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter) # filter_backends = (DjangoFilterBackend,) filterset_class = MyFilter # 搜索 search_fields = ('name', 'price') # 排序 ordering_fields = ('id', 'name', 'price')