You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

29 lines
1.0 KiB

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')