5.6.通过Mixin+GenericAPIView实现API
通过Mixin+GenericAPIView实现API
class GoodsCategoryView(ListModelMixin, GenericAPIView):
"""
获取商品类型列表
"""
queryset = GoodsCategory.objects.all()[:10]
serializer_class = GoodsCategorySerializer
def get(self, request, *args, **kwargs):
return self.list(request, *args, **kwargs)
通过ListAPIView实现API
通过ListAPIView可以省略mixins.ListModelMixin和GenericAPIView的继承,同时省略get、post、patch等函数
class GoodsCategoryView(ListAPIView):
"""
获取商品类型列表
"""
queryset = GoodsCategory.objects.all()[:10]
serializer_class = GoodsCategorySerializer
分页
mo_shop/settings.py
REST_FRAMEWORK = {
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination',
'PAGE_SIZE': 3
}
自定义分页参数
class GoodsCategoryPagination(PageNumberPagination):
page_size = 2 # page_size值
page_size_query_param = 'page_size' # page_size字段
page_query_param = 'page' # page字段
max_page_size = 10000 # page值
class GoodsCategoryView(ListAPIView):
"""
获取商品类型列表
"""
queryset = GoodsCategory.objects.all()
serializer_class = GoodsCategorySerializer
pagination_class = GoodsCategoryPagination # 指定使用的分页参数
Last updated
Was this helpful?