baseline: 批次A-D 成果 + membership 半成品(测试红)
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
"""partner 序列化器(async 兼容)。"""
|
||||
|
||||
from rest_framework import serializers
|
||||
from apps.core.serializers import AsyncModelSerializer
|
||||
from .models import PriceLevel, Contact, Customer, Supplier
|
||||
|
||||
|
||||
class PriceLevelSerializer(AsyncModelSerializer):
|
||||
class Meta:
|
||||
model = PriceLevel
|
||||
fields = [
|
||||
"id", "code", "name", "discount_rate", "sort_order",
|
||||
"is_deleted", "created_at", "updated_at",
|
||||
]
|
||||
read_only_fields = ["id", "created_at", "updated_at"]
|
||||
|
||||
|
||||
class ContactSerializer(AsyncModelSerializer):
|
||||
customer_code = serializers.CharField(source="customer.code", read_only=True, default=None)
|
||||
supplier_code = serializers.CharField(source="supplier.code", read_only=True, default=None)
|
||||
|
||||
class Meta:
|
||||
model = Contact
|
||||
fields = [
|
||||
"id", "name", "phone", "email", "title", "is_primary",
|
||||
"customer_code", "supplier_code",
|
||||
"is_deleted", "created_at", "updated_at",
|
||||
]
|
||||
read_only_fields = ["id", "created_at", "updated_at"]
|
||||
|
||||
|
||||
class CustomerSerializer(AsyncModelSerializer):
|
||||
price_level_code = serializers.CharField(source="price_level.code", read_only=True, default=None)
|
||||
balance = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Customer
|
||||
fields = [
|
||||
"id", "code", "name", "kind", "contact_name", "phone", "email",
|
||||
"address", "tax_number", "bank_account",
|
||||
"price_level_code", "credit_limit", "initial_receivable",
|
||||
"is_active", "remark", "balance",
|
||||
"is_deleted", "created_at", "updated_at",
|
||||
]
|
||||
read_only_fields = ["id", "created_at", "updated_at", "balance"]
|
||||
|
||||
def get_balance(self, obj):
|
||||
# 阶段 2 接入应收模块后实算
|
||||
return str(obj.initial_receivable)
|
||||
|
||||
|
||||
class SupplierSerializer(AsyncModelSerializer):
|
||||
balance = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Supplier
|
||||
fields = [
|
||||
"id", "code", "name", "contact_name", "phone", "email",
|
||||
"address", "tax_number", "bank_account",
|
||||
"initial_payable", "is_active", "remark", "balance",
|
||||
"is_deleted", "created_at", "updated_at",
|
||||
]
|
||||
read_only_fields = ["id", "created_at", "updated_at", "balance"]
|
||||
|
||||
def get_balance(self, obj):
|
||||
return str(obj.initial_payable)
|
||||
Reference in New Issue
Block a user