1
0
forked from erp-dev/erp

feat: added 配货记录 field into PreSalesOrderDetailSerializer

This commit is contained in:
2026-02-02 16:09:28 +08:00
parent fb93582b06
commit e1f0f8420b

View File

@@ -45,7 +45,6 @@ class AllocationRecordSerializer(serializers.ModelSerializer):
class PreSalesOrderItemSerializer(serializers.ModelSerializer): class PreSalesOrderItemSerializer(serializers.ModelSerializer):
allocation_records = AllocationRecordSerializer(many=True, read_only=True)
allocated_quantity = serializers.SerializerMethodField(read_only=True) allocated_quantity = serializers.SerializerMethodField(read_only=True)
progress = serializers.SerializerMethodField(read_only=True) progress = serializers.SerializerMethodField(read_only=True)
allocation_status = serializers.SerializerMethodField(read_only=True) allocation_status = serializers.SerializerMethodField(read_only=True)
@@ -64,7 +63,6 @@ class PreSalesOrderItemSerializer(serializers.ModelSerializer):
'allocated_quantity', 'allocated_quantity',
'progress', 'progress',
'allocation_status', 'allocation_status',
'allocation_records',
] ]
read_only_fields = ['id'] read_only_fields = ['id']
@@ -94,6 +92,15 @@ class PreSalesOrderItemSerializer(serializers.ModelSerializer):
return 3 return 3
class PreSalesOrderItemDetailSerializer(PreSalesOrderItemSerializer):
allocation_records = AllocationRecordSerializer(many=True, read_only=True)
class Meta(PreSalesOrderItemSerializer.Meta):
fields = PreSalesOrderItemSerializer.Meta.fields + [
'allocation_records',
]
class PreSalesOrderSerializer(serializers.ModelSerializer): class PreSalesOrderSerializer(serializers.ModelSerializer):
human_id = serializers.CharField(read_only=True) human_id = serializers.CharField(read_only=True)
customer_name = serializers.CharField(source='customer.name', read_only=True) customer_name = serializers.CharField(source='customer.name', read_only=True)
@@ -129,6 +136,10 @@ class PreSalesOrderSerializer(serializers.ModelSerializer):
] ]
class PreSalesOrderDetailSerializer(PreSalesOrderSerializer):
items = PreSalesOrderItemDetailSerializer(many=True, read_only=True)
class PreSalesOrderPagination(pagination.LimitOffsetPagination): class PreSalesOrderPagination(pagination.LimitOffsetPagination):
default_limit = 20 default_limit = 20
max_limit = 100 max_limit = 100
@@ -241,7 +252,7 @@ class PreSalesOrderDetailView(StockChangeViewMixin, views.APIView):
order, error_response = self._get_order(request, pk) order, error_response = self._get_order(request, pk)
if error_response: if error_response:
return error_response return error_response
return Response(PreSalesOrderSerializer(order).data, status=status.HTTP_200_OK) return Response(PreSalesOrderDetailSerializer(order).data, status=status.HTTP_200_OK)
def put(self, request, pk: int): def put(self, request, pk: int):
return self._update(request, pk) return self._update(request, pk)