Saleor是否支持订单行设置小数类型的数量值?
Saleor订单行小数数量支持情况说明
Saleor默认原生不支持小数类型的订单行数量,仅支持正整数输入,具体规则和适配方案如下:
- 底层默认限制:订单行、购物车行的
quantity字段在核心模型定义中为正整数类型,从数据库存储、接口参数校验到上层业务计算逻辑,默认全链路只接受整数传值,传入1.5、2.7这类小数会直接触发参数校验报错,无法正常创建订单。 - 默认设计逻辑:通用电商场景下绝大多数实物商品按独立件数履约、计数、盘点,整数数量的设计可以避免库存扣减、发货对账、售后核算环节出现计数歧义,是匹配主流电商需求的默认实现。
- 小数数量需求的落地建议:
- 针对按重量、长度、面积等计量销售的非标品场景,不建议直接修改核心
quantity字段的类型。可以在订单行上新增自定义的小数字段(比如measured_quantity)存储实际计量值,quantity字段固定传1,把商品定价、库存扣减、金额计算的逻辑绑定到自定义的小数字段上,这种方案不会破坏Saleor原有核心流程,后续版本升级的兼容成本极低。 - 若强行修改核心
quantity字段为小数类型,需要同步调整库存管理、促销计算、履约发货、财务报表、第三方对接等全链路的关联逻辑,改造成本极高,后续升级官方版本时会出现大量代码冲突,完全不推荐采用这种方案。
- 针对按重量、长度、面积等计量销售的非标品场景,不建议直接修改核心
内容的提问来源于stack exchange,提问作者Kevin
相关产品推荐
相关产品推荐

