规格表管理之更新规格表数据
更新规格表数据
【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. 获取要修改的规格选项的详情信息 点就修改按钮时,我们需要先获取要修改的规格选项的详情信息 接口分析 请求方式: GET /meiduo_admin/specs/options ...
- SKU表管理之更新SKU表数据
更新SKU表数据 1. 获取修改商品的详情信息 点就修改按钮时,我们需要先获取要修改的商品详情信息 接口分析 请求方式: GET /meiduo_admin/skus/(?P<pk>\d+ ...
- 权限表管理之更新权限表数据
更新权限表数据 1. 获取修改权限表的详情信息 点击修改按钮时,我们需要先获取要修改的商品详情信息 接口分析 请求方式: GET /meiduo_admin/permission/perms/(?P& ...
- SPU表管理之更新SPU表数据
更新SPU表数据 1. 获取修改商品的详情信息 点就修改按钮时,我们需要先获取要修改的商品详情信息 接口分析 请求方式: GET /meiduo_admin/goods/(?P<pk>\d ...
- 规格选项表管理之保存规格选项表数据
保存规格选项表数据 在保存数据之前我们需要先获取商品规格名称,在规格的下来菜单中展示规格数据 1.获取品牌信息 接口分析 请求方式: GET /meiduo_admin/goods/specs/sim ...
- 规格表管理之保存规格表数据表数据
保存规格表数据表数据 添加路由: # -------规格路由表--------url(r'goods/simple/$',specs.SpecsView.as_view({'get':'simple' ...
- 用户组管理之更新分组表数据
更新分组表数据 1. 获取修改分组表的详情信息 点就修改按钮时,我们需要先获取要修改的分组表详情信息 接口分析 请求方式: GET /meiduo_admin/permission/groups/(? ...
- 订单管理之更新订单表状态数据
更新订单表状态数据 点击修改状态,完成订单表状态的修改操作 接口分析 请求方式: PUT /meiduo_admin/orders/(?P<order_id>\d+)/status/ 请求 ...
- 图片管理之更新SKU表数据
更新SKU表数据 1. 获取修改图片的详情信息 点就修改按钮时,我们需要先获取要修改的图片详情信息 接口分析 请求方式: GET /meiduo_admin/skus/images/(?P<pk ...
最新文章
- 面试官:原生GAN都没复现过,自己走还是我送你?
- 【PHPWord】页面添加图片水印
- java8 接口调用默认方法_Java8接口里的默认方法特性
- JS常用属性方法大全
- [Win10应用开发] 使用 Windows 推送服务 (WNS)
- ASP.NET Core Kestrel 中使用 HTTPS (SSL)
- 为所有北京奥运冠军名字作诗(诗集)
- 【Python】:拓展Queue实现有序不重复队列
- 使用dropwizard(5)--加入swagger
- selenium+webdriver+java(基本小例子及初始化三种浏览器)---------------
- Objective-C GCD深入理解
- react-native学习小结
- uniapp实现贪吃蛇小游戏
- BIMC指出企业发展电子商务的问题
- Android中使用OKHttp上传图片,从相机和相册中获取图片并剪切
- 淘宝店铺宝贝批量复制工具
- 爆糗的买单,看谁脸皮厚
- 计算机excl知识题,计算机excel考试试题「附答案」
- 导入csv文件到数据库
- Vue脚手架安装常用命令
热门文章
- CSDN 星城大巡礼,长沙“科技之星”年度企业评选正式开启
- MIT 更新最大自然灾害图像数据集,囊括 19 种灾害事件
- GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
- 中科院、百度研究院等联合提出UGAN,生成图片难以溯源
- 编程25年后,现实将我打回菜鸟程序员的起点
- 上映 10 天,票房就突破 10 亿的《海王》真的有那么好看?
- 如何设计一颗40PFLOPS量级的AI芯片?
- 【AI竞赛】TinyMind汉字书法识别挑战赛开始报名啦!!
- 重大改变!Python 或将取代 VBA 成为 Excel 官方脚本语言
- 为什么阿里巴巴禁止使用存储过程?