1
0
forked from erp-dev/erp

feat: change segment_size to decimal in Product model

This commit is contained in:
2025-12-27 14:48:24 +08:00
parent 69c3daa919
commit ce0cf3256c
8 changed files with 48 additions and 426 deletions

View File

@@ -193,9 +193,9 @@ def _upsert_product(product_data, merchant, category):
pieces_int = _ensure_int(product_data.pieces)
if pieces_int is not None:
defaults['pieces'] = pieces_int
segment_int = _ensure_int(product_data.segment_size)
if segment_int is not None:
defaults['segment_size'] = segment_int
segment_decimal = _ensure_decimal(product_data.segment_size)
if segment_decimal is not None:
defaults['segment_size'] = segment_decimal
product_obj, created = basic_models.Product.objects.get_or_create(
merchant=merchant,

View File

@@ -1,4 +1,5 @@
import asyncio
from decimal import Decimal
from unittest.mock import patch
from django.test import SimpleTestCase
@@ -99,7 +100,7 @@ class MingDaoYunParsersTestCase(SimpleTestCase):
self.assertEqual(product.created_at, "2025-12-01 00:00:00")
self.assertEqual(product.name, "产品A")
self.assertEqual(product.pieces, 12)
self.assertEqual(product.segment_size, 3)
self.assertEqual(product.segment_size, Decimal("3"))
# width 与 segment_size 当前共用同一个 controlId保持同步代码现状
self.assertEqual(product.width, "3")
self.assertEqual(product.unit, "")