阿语Python项目实操之美多后台管理-商品管理之SPU表管理第5.2.1节查询获取SPU表列表数据...

该博客介绍了在电商系统中查询SPU(标准产品单元)列表数据时,如何根据keyword参数进行商品过滤。请求采用GET方法,包含keyword(名称或副标题)、页码和页容量信息。返回数据包括商品SPU的总数、详细信息列表、当前页码、总页数和每页容量。后端实现使用了ModelViewSet,序列化器处理SPU对象并排除部分字段,确保数据交互的高效与准确。
摘要由CSDN通过智能技术生成

查询获取SPU表列表数据

在获取sku数据时,我们在请求中包含了查询关键keyword,这时我么就需要对keyword进行判断,来返回不同的查询数据

接口分析

请求方式:GET /meiduo_admin/goods/?keyword=<名称|副标题>&page=<页码>&page_size=<页容量>

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

返回数据:JSON

{
        "counts": "商品SPU总数量",
        "lists": [
            {
                "id": "商品SPU ID",
                "name": "SPU名称",
                "brand": "品牌名称",
                "brand_id": "品牌id",
                "category1_id": "一级分类id",
                "category2_id": "二级分类id",
                "category3_id": "三级分类id",
                "sales": "SPU商品销量",
                "comments": "SPU商品评论量",
                "desc_detail": "商品详情",
                "desc_pack": "商品包装",
                "desc_service": "售后服务"
            },
            ...
       ],
       "page": "页码",
       "pages": "总页数",
       "pagesize": "页容量"
  }
返回值类型是否必须说明
countintSPU商品总量
lists数组SPU信息
pageint页码
pagesint总页数
pagesizeint页容量

后端实现

class SPUGoodsView(ModelViewSet):
    """
        SPU表的增删改查
    """
    # 指定序列化器
    serializer_class = SPUGoodsSerialzier
    # 指定查询及
    queryset = SPU.objects.all()
    # 指定分页
    pagination_class = PageNum

序列化器的定义

class SPUGoodsSerialzier(serializers.ModelSerializer):
    """
        SPU表序列化器
    """
    # 一级分类id
    category1_id=serializers.IntegerField()
    # 二级分类id
    category2_id=serializers.IntegerField()
    # 三级级分类id
    category3_id=serializers.IntegerField()
    # 关联的品牌id
    brand_id=serializers.IntegerField()
    # 关联的品牌,名称
    brand=serializers.StringRelatedField(read_only=True)

    class Meta:
        model=SPU
        exclude=('category1','category2','category3')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值