factory/apps/wpmw/serializers.py

46 lines
1.5 KiB
Python

from apps.wpmw.models import Wpr, WprDefect
from apps.utils.serializers import CustomModelSerializer
from rest_framework import serializers
from apps.inm.serializers import MaterialBatchSerializer
from apps.wpm.serializers import WMaterialSerializer
class WprDefectSerializer(CustomModelSerializer):
defect_name = serializers.CharField(source="defect.name", read_only=True)
class Meta:
model = WprDefect
fields = "__all__"
class WprSerializer(CustomModelSerializer):
wm_batch = serializers.CharField(source="wm.batch", read_only=True)
mb_batch = serializers.CharField(source="mb.batch", read_only=True)
material_name = serializers.StringRelatedField(
source='material', read_only=True)
material_start_name = serializers.StringRelatedField(source='material_start', read_only=True)
wprdefect = WprDefectSerializer(many=True, read_only=True)
class Meta:
model = Wpr
fields = '__all__'
class WprDetailSerializer(WprSerializer):
mb_ = MaterialBatchSerializer(source='mb', read_only=True)
wm_ = WMaterialSerializer(source='wm', read_only=True)
class WprNewSerializer(serializers.Serializer):
year = serializers.IntegerField()
month = serializers.IntegerField()
material_start = serializers.CharField(label="物料ID")
class WproutSerializer(serializers.Serializer):
id = serializers.CharField(label="wprId")
number_out = serializers.CharField(label="对外编号", allow_null=True)
class WproutListSerializer(serializers.Serializer):
items = WproutSerializer(many=True)