“商品类别数据接口-2”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
第1行: 第1行:
==视图层Views.py==
+
==获取一级目录==
 +
===视图层Views.py===
 
app/goods/views.py:
 
app/goods/views.py:
  
第17行: 第18行:
 
     serializer_class = CategorySerializer</nowiki>
 
     serializer_class = CategorySerializer</nowiki>
  
==路由urls.py==
+
===路由urls.py===
 +
 
  
 
  <nowiki>
 
  <nowiki>
第31行: 第33行:
  
 
[[文件:bd20-6-18.png|600px]]
 
[[文件:bd20-6-18.png|600px]]
 +
 +
==获取一级、二级、三级目录==
 +
app/goods/serilizers.py 中增加:
 +
 +
CategorySerializer3 代表三级目录,
 +
 +
CategorySerializer2 代表二级目录,
 +
 +
通过各自的sub_cat变量层层嵌套。
 +
 +
<nowiki>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__"
 +
</nowiki>

2020年8月15日 (六) 06:37的版本

获取一级目录

视图层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/

Bd20-6-18.png

获取一级、二级、三级目录

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__"