商品类别数据接口-2
来自CloudWiki
获取一级目录
视图层Views.py
app/goods/views.py:
from .models import Goods,GoodsCategory from .filters import GoodsFilter from .serializers import GoodsSerializer,CategorySerializer class CategoryViewset(mixins.ListModelMixin, mixins.RetrieveModelMixin, viewsets.GenericViewSet): """ list: 商品分类列表数据 retrieve: 获取商品分类详情 """ queryset = GoodsCategory.objects.filter(category_type=1) serializer_class = CategorySerializer
路由urls.py
from goods.views import GoodsListViewSet, CategoryViewset router.register(r'goods',GoodsListViewSet, base_name='goods') #配置category的url router.register(r'categorys', CategoryViewset, base_name="categorys")
效果
http://10.0.0.30:8000/categorys/
获取一级、二级、三级目录
app/goods/serilizers.py 中增加:
CategorySerializer3 代表三级目录,
CategorySerializer2 代表二级目录,
通过各自的sub_cat变量层层嵌套。
class CategorySerializer3(serializers.ModelSerializer): class Meta: model = GoodsCategory fields = "__all__" class CategorySerializer2(serializers.ModelSerializer): sub_cat = CategorySerializer3(many=True) class Meta: model = GoodsCategory fields = "__all__" class CategorySerializer(serializers.ModelSerializer): sub_cat = CategorySerializer2(many=True) class Meta: model = GoodsCategory fields = "__all__"