baseline: 批次A-D 成果 + membership 半成品(测试红)
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
"""商品中心序列化器(async 兼容)。"""
|
||||
|
||||
from rest_framework import serializers
|
||||
from apps.core.serializers import AsyncModelSerializer
|
||||
from .models import Category, Brand, Unit, Product
|
||||
|
||||
|
||||
class CategorySerializer(AsyncModelSerializer):
|
||||
parent_code = serializers.CharField(source="parent.code", read_only=True, default=None)
|
||||
|
||||
class Meta:
|
||||
model = Category
|
||||
fields = [
|
||||
"id", "code", "name", "parent_code", "sort_order",
|
||||
"is_deleted", "created_at", "updated_at",
|
||||
]
|
||||
read_only_fields = ["id", "created_at", "updated_at"]
|
||||
|
||||
|
||||
class BrandSerializer(AsyncModelSerializer):
|
||||
class Meta:
|
||||
model = Brand
|
||||
fields = ["id", "code", "name", "logo_url", "is_deleted", "created_at", "updated_at"]
|
||||
read_only_fields = ["id", "created_at", "updated_at"]
|
||||
|
||||
|
||||
class UnitSerializer(AsyncModelSerializer):
|
||||
class Meta:
|
||||
model = Unit
|
||||
fields = ["id", "code", "name", "is_base", "is_deleted", "created_at", "updated_at"]
|
||||
read_only_fields = ["id", "created_at", "updated_at"]
|
||||
|
||||
|
||||
class ProductSerializer(AsyncModelSerializer):
|
||||
category_code = serializers.CharField(source="category.code", read_only=True, default=None)
|
||||
brand_code = serializers.CharField(source="brand.code", read_only=True, default=None)
|
||||
base_unit_code = serializers.CharField(source="base_unit.code", read_only=True, default=None)
|
||||
base_unit_name = serializers.CharField(source="base_unit.name", read_only=True, default=None)
|
||||
|
||||
class Meta:
|
||||
model = Product
|
||||
fields = [
|
||||
"id", "code", "name", "spec", "barcode",
|
||||
"category_code", "brand_code", "base_unit", "base_unit_code", "base_unit_name",
|
||||
"cost_price", "sale_price", "min_sale_price", "tax_rate",
|
||||
"is_batch_managed", "shelf_life_days",
|
||||
"status", "ext_data", "source_channel",
|
||||
"is_deleted", "created_at", "updated_at",
|
||||
]
|
||||
read_only_fields = ["id", "created_at", "updated_at"]
|
||||
Reference in New Issue
Block a user