您当前的位置: 首页 > 

IT之一小佬

暂无认证

  • 0浏览

    0关注

    1192博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

规格表管理之保存规格表数据表数据

IT之一小佬 发布时间:2021-07-28 21:34:22 ,浏览量:0

保存规格表数据表数据

添加路由:

     # -------规格路由表--------
    url(r'goods/simple/$',specs.SpecsView.as_view({'get':'simple'})),

接口分析

请求方式:POST /meiduo_admin/goods/specs/

请求参数: 通过请求头传递jwt token数据。

参数类型是否必须说明namestr是规格名称spu_idint是SPU商品id

返回数据: JSON

{
        "id": "规格id",
        "name": "规格名称",
        "spu": "SPU商品名称",
        "spu_id": "SPU商品id"
    }
参数类型是否必须说明idInt是规格idnameStr是规格名称spustr是SPU商品名称spu_idInt是spu商品id

后端实现:

# SpecsView继承的是ModelViewSet 所以保存逻辑还是使用同一个类视图
class SpecsView(ModelViewSet):

    serializer_class =SPUSpecificationSerializer
    queryset = SPUSpecification.objects.all()
    pagination_class = PageNum

为了解决上面路由的问题,需要对该类中添加方法:

from rest_framework.viewsets import ModelViewSet
from goods.models import SPUSpecification
from meiduo_admin.serializers.specs import SPUSpecificationSerializer
from meiduo_admin.utils import UserPageNum
from goods.models import SPU
from rest_framework.response import Response
from meiduo_admin.serializers.specs import SPUSerializer


class SpecsView(ModelViewSet):
    """商品规格的增删改查"""
    #  指定序列化器
    serializer_class = SPUSpecificationSerializer
    #  指定查询集
    queryset = SPUSpecification.objects.all()
    #  指定分页器
    pagination_class = UserPageNum
    
    def simple(self, request):
        spus = SPU.objects.all()
        ser = SPUSerializer(spus, many=True)
        return Response(ser.data)

 添加序列化器:

from goods.models import SPU
from rest_framework import serializers


class SPUSerializer(serializers.ModelSerializer):
    """SPU序列化器"""
    class Meta:
        model = SPU
        fields = ('id', 'name')

再次重新启动服务,再浏览器刷新网页便可获得到了数据:

关注
打赏
1665675218
查看更多评论
立即登录/注册

微信扫码登录

0.0393s