Django----SKU 和 SPU

本文探讨了电商系统中的核心概念SPU(标准化产品单元)和SKU(库存量单位),解释了它们在商品管理和销售统计中的作用。通过举例分析了淘宝和京东平台上的SPU与SKU的区别,并分享了相关表结构设计和Django models的编写思路。
摘要由CSDN通过智能技术生成

一. SKU 和 SPU

一个电商系统,SPU、SKU等设计的好坏,影响到后面的开发进度,以及架构的调整等。而 SPU、SKU又是一个电商系统的核心,我们一起参考淘宝设计来讲清楚什么是 SPU、SKU。

SPU,是 standard product unit,标准化产品单元,是商品信息聚合的最小单位,属性值、特性相同的商品就可以成为一个SPU。在淘宝中你可能看不到 spu 这个概念,淘宝商品都拥有商品 ID(item design),其实就是 spu。不像京东,直接来个 spuId = xxx 这样的直观。

SKU,全称 stock keeping unit,库存量单位。SKU 是用来定价和管理库存的。例如:7 Plus 有很多颜色,很多配置,每个颜色和配置的组合都会形成新的产品,这时就产生很多 SKU,SKU 在传统线下行业也是一个非常常用的概念,尤其是服装行业,同款不同尺码不同色都是独立的 SKU,需要有独立的条形码,独立的库存管理等。

下面我们一起来看看淘宝中的 SPU 和 SKU,加深大家的认识。

当我们在浏览器里访问:https://detail.tmall.com/item.htm?id=525248995106&skuId=4225910992958 和 https://detail.tmall.com/item.htm?id=525248995106&skuId=4225910992962 时,会看到两款不同的商品,这就是 SPU。每款商品中有不同的颜色,规格,尺寸等代表的就是 SKU。

在这里插入图片描述

以 https://detail.tmall.com/item.htm?id=525248995106&skuId=4225910992961 为例,当我们选择不同的颜色后,浏览器地址栏中的 skuId 就会跟着变化。选择不同的颜色,价格和库存都会跟着变化,这就是 SKU 决定了一个商品的价格和库存。

上面的 id 就对应着一个 SPU,一个 SPU 可以有多个 SKU。SPU 用来区分品种,一般商家用来统计某个品种的销量。比如,A 商家统计 iphone 8 销量,就是 SPU 的维度来统计的。也可以从 SKU 的方向来统计,比如:A 商家统计 iphone 8 中黑色64G的销量。

京东和淘宝还是有区别的,京东的商品详情页链接是直接挂着skuid的,url例如:

https://item.jd.com/100008348542.html

在这里插入图片描述

在url的后半部分就挂着一个skuid,我们可以直接根据这个skuid 100008348542 在首页进行搜索,搜索的结果会直接跳到该商品详情页,这一点是和淘宝天猫的区别。

在这里插入图片描述

如果还是不理解,大家都去过超市买东西,到收银台的时候,收银员手里有一个扫码枪,她会一个一个的扫你购买的商品上条形码。这个条形码就对应一个 SKU,一个 SKU 对应一个条形码,因为每一个条形码对应一个价格和库存。

在这里插入图片描述

在这里插入图片描述

二. 表结构设计以及models

1. 表结构设计

商品部分表结构设计.html

在这里插入图片描述
2. models编写

根据之前设计好的表结构来写models.py文件

from django.db import models


class Catalog(models.Model):
    """
    商品类别
    """
    create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
    update_time = models.DateTimeField(auto_now=True, verbose_name="更新时间")
    name = models.CharField(max_length=10, verbose_name='类别名称')

    class Meta:
        db_table = 'DDSC_GOODS_CATALOG'
        verbose_name = '商品类别'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.name


class Brand(models.Model):
    """
    品牌
    """
    create_time = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
    update_time = models.DateTimeField(auto_now=True, verbose_name="更新时间")
    name = models.CharField(max_length=20, verbose_name='商品名称')
    logo = models.ImageField(verbose_name='Logo图片')
    first_letter = models
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值