MIS系统(8)- 商品管理之规格选项管理

本文介绍MIS系统中商品管理的规格选项管理,包括SPU规格选项信息获取、SPU规格信息获取及如何进行添加、修改和删除操作。详细讲述了操作流程,涉及子路由设置、类视图定义和序列化器的应用。
摘要由CSDN通过智能技术生成

博客首页 > MIS专栏> 专栏目录

界面展示:
在这里插入图片描述
在这里插入图片描述

1,spu规格选项信息获取
  • 目的: 可以编写类视图,获取规格选项信息

  • 操作流程:

    • 1, 子路由(meiduo_admin/urls.py)

      • #6,spec option管理
        router = DefaultRouter()
        router.register(r'specs/options',specs_options_views.SpecsOptionViewSet,base_name="options")
        urlpatterns += router.urls
        
    • 2,类视图(good/specs_options_views.py)

      • #1,spec option管理
        class SpecsOptionViewSet(ModelViewSet):
            pagination_class = MyPageNumberPagination
            serializer_class = specs_options_serializers.SpecsOptionSerializer
            queryset = SpecificationOption.objects.all()
        
    • 3,序列化器(good/specs_options_serializsers.py)

      • #1,spec option 序列化器
        class SpecsOptionSerializer(serializers.ModelSerializer):
        
            #1,重写spec
            spec = serializers.StringRelatedField(read_only=True)
            spec_id = serializers.IntegerField()
        
            class Meta:
                model = SpecificationOption
                fields = "__all__"
        
2,spu规格信息获取
  • 目的: 可以在添加选项的时候获取所对应的的规格信息

  • 操作流程:

    • 1, 子路由(meiduo_admin/urls.py)

      • #6,spec option路由
            url(r'^goods/specs/simple/$',specs_options_views.SpecSimpleView.as_view())
        
    • 2,类视图(good/specs_options_views.py)

      • 
        #2,spec 信息获取
        class SpecSimpleView(ListAPIView):
            serializer_class = specs_options_serializers.SpecSimpleSerializer
            # queryset = SPUSpecification.objects.all()
        
            #1,重写get_queryset方法,目的在前端显示数据的时候,方便查看
            def get_queryset(self):
                #1,获取数据源
                queryset = SPUSpecification.objects.all()
        
                #2,给数据源name增加spu.name
                for spec in queryset:
                    spec.name = "%s - %s"%(spec.spu.name,spec.name)
        
                #3,返回数据源
                return queryset
        
    • 3,序列化器(good/specs_options_serializsers.py)

      • #2,spec规格信息
        class SpecSimpleSerializer(serializers.ModelSerializer):
            class Meta:
                model = SPUSpecification
                fields = ("id","name")
        
3,spu规格选项添加,修改,删除数据
  • 注意点: 由于规格选项使用视图集实现,所以增,删,改全部实现
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值