更新规格表数据

【ModelViewSet视图集中已经封装好了增删改查的功能,所以这几个功能的代码基本上都是一样的】

1、 获取要修改规格表的详情信息

点击修改按钮时,我们需要先获取要修改的规格详情信息

接口分析

请求方式: GET /meiduo_admin/goods/specs/(?P<pk>\d+)/

     # -------规格路由表--------url(r'goods/simple/$',specs.SpecsView.as_view({'get':'simple'})),
#  规格表路由*****************************
router = DefaultRouter()
router.register('goods/specs',specs.SpecsView, base_name='specs')
print(router.urls)
urlpatterns += router.urls

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

在头部中携带要获取的规格ID

返回数据: JSON

  {"id": "规格id","name": "规格名称","spu": "SPU商品名称","spu_id": "SPU商品id"}
参数 类型 是否必须 说明
id int 规格 ID
name str 规格名称
spu str SPU商品名称
spu_id int SPU商品id

后端实现


# SpecsView继承的是ModelViewSet 所以获取单一规格逻辑还是使用同一个类视图
class SpecsView(ModelViewSet):serializer_class =SPUSpecificationSerializerqueryset = SPUSpecification.objects.all()pagination_class = PageNum

为了拿到/meiduo_admin/goods/simple/接口中的数据,还需要添加方法:

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

序列化器:

from rest_framework import serializers
from goods.models import SPUSpecification
from goods.models import SPUclass SPUSerializer(serializers.ModelSerializer):"""SPU序列化器"""class Meta:model = SPUfields = ('id', 'name')

2、修改规格表数据

接口分析

请求方式: PUT /meiduo_admin/goods/specs/(?P<pk>\d+)/

     # -------规格路由表--------url(r'goods/simple/$',specs.SpecsView.as_view({'get':'simple'})),
#  规格表路由*****************************
router = DefaultRouter()
router.register('goods/specs',specs.SpecsView, base_name='specs')
print(router.urls)
urlpatterns += router.urls

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

参数 类型 是否必须 说明
name str 规格名称
spu_id int 商品SPU ID

返回数据: JSON

  {"id": "规格id","name": "规格名称","goods": "SPU商品名称","goods_id": "SPU商品id"}
参数 类型 是否必须 说明
id int 规格 ID
name str 规格名称
spu str SPU商品名称
spu_id int SPU商品id

后端实现

# SpecsView继承的是ModelViewSet 所以修改逻辑还是使用同一个类视图
class SpecsView(ModelViewSet):"""规格表视图"""serializer_class =SPUSpecificationSerializerqueryset = SPUSpecification.objects.all()pagination_class = PageNum

为了拿到/meiduo_admin/goods/simple/接口中的数据,还需要添加方法:

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

序列化器:

from rest_framework import serializers
from goods.models import SPUSpecification
from goods.models import SPUclass SPUSerializer(serializers.ModelSerializer):"""SPU序列化器"""class Meta:model = SPUfields = ('id', 'name')

规格表管理之更新规格表数据相关推荐

  1. 规格选项表管理之更新规格选项表数据

    更新规格选项表数据 1. 获取要修改的规格选项的详情信息 点就修改按钮时,我们需要先获取要修改的规格选项的详情信息 接口分析 请求方式: GET /meiduo_admin/specs/options ...

  2. SKU表管理之更新SKU表数据

    更新SKU表数据 1. 获取修改商品的详情信息 点就修改按钮时,我们需要先获取要修改的商品详情信息 接口分析 请求方式: GET /meiduo_admin/skus/(?P<pk>\d+ ...

  3. 权限表管理之更新权限表数据

    更新权限表数据 1. 获取修改权限表的详情信息 点击修改按钮时,我们需要先获取要修改的商品详情信息 接口分析 请求方式: GET /meiduo_admin/permission/perms/(?P& ...

  4. SPU表管理之更新SPU表数据

    更新SPU表数据 1. 获取修改商品的详情信息 点就修改按钮时,我们需要先获取要修改的商品详情信息 接口分析 请求方式: GET /meiduo_admin/goods/(?P<pk>\d ...

  5. 规格选项表管理之保存规格选项表数据

    保存规格选项表数据 在保存数据之前我们需要先获取商品规格名称,在规格的下来菜单中展示规格数据 1.获取品牌信息 接口分析 请求方式: GET /meiduo_admin/goods/specs/sim ...

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

    保存规格表数据表数据 添加路由: # -------规格路由表--------url(r'goods/simple/$',specs.SpecsView.as_view({'get':'simple' ...

  7. 用户组管理之更新分组表数据

    更新分组表数据 1. 获取修改分组表的详情信息 点就修改按钮时,我们需要先获取要修改的分组表详情信息 接口分析 请求方式: GET /meiduo_admin/permission/groups/(? ...

  8. 订单管理之更新订单表状态数据

    更新订单表状态数据 点击修改状态,完成订单表状态的修改操作 接口分析 请求方式: PUT /meiduo_admin/orders/(?P<order_id>\d+)/status/ 请求 ...

  9. 图片管理之更新SKU表数据

    更新SKU表数据 1. 获取修改图片的详情信息 点就修改按钮时,我们需要先获取要修改的图片详情信息 接口分析 请求方式: GET /meiduo_admin/skus/images/(?P<pk ...

最新文章

  1. 面试官:原生GAN都没复现过,自己走还是我送你?
  2. 【PHPWord】页面添加图片水印
  3. java8 接口调用默认方法_Java8接口里的默认方法特性
  4. JS常用属性方法大全
  5. [Win10应用开发] 使用 Windows 推送服务 (WNS)
  6. ASP.NET Core Kestrel 中使用 HTTPS (SSL)
  7. 为所有北京奥运冠军名字作诗(诗集)
  8. 【Python】:拓展Queue实现有序不重复队列
  9. 使用dropwizard(5)--加入swagger
  10. selenium+webdriver+java(基本小例子及初始化三种浏览器)---------------
  11. Objective-C GCD深入理解
  12. react-native学习小结
  13. uniapp实现贪吃蛇小游戏
  14. BIMC指出企业发展电子商务的问题
  15. Android中使用OKHttp上传图片,从相机和相册中获取图片并剪切
  16. 淘宝店铺宝贝批量复制工具
  17. 爆糗的买单,看谁脸皮厚
  18. 计算机excl知识题,计算机excel考试试题「附答案」
  19. 导入csv文件到数据库
  20. Vue脚手架安装常用命令

热门文章

  1. CSDN 星城大巡礼,长沙“科技之星”年度企业评选正式开启
  2. MIT 更新最大自然灾害图像数据集,囊括 19 种灾害事件
  3. GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
  4. 中科院、百度研究院等联合提出UGAN,生成图片难以溯源
  5. 编程25年后,现实将我打回菜鸟程序员的起点
  6. 上映 10 天,票房就突破 10 亿的《海王》真的有那么好看?
  7. 如何设计一颗40PFLOPS量级的AI芯片?
  8. 【AI竞赛】TinyMind汉字书法识别挑战赛开始报名啦!!
  9. 重大改变!Python 或将取代 VBA 成为 Excel 官方脚本语言
  10. 为什么阿里巴巴禁止使用存储过程?