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