diff --git a/apps/mtm/models.py b/apps/mtm/models.py index bc642b8e..07b6f859 100644 --- a/apps/mtm/models.py +++ b/apps/mtm/models.py @@ -72,7 +72,7 @@ class Material(CommonAModel): ordering = ['sort', '-create_time'] def __str__(self): - return f'{self.name}|{self.specification}|{self.model}' + return f'{self.name}|{self.specification if self.specification else ""}|{self.model if self.model else ""}|{self.process.name if self.process else ""}' class Shift(CommonBModel): diff --git a/apps/mtm/serializers.py b/apps/mtm/serializers.py index 3ac6a69c..d60d12d4 100644 --- a/apps/mtm/serializers.py +++ b/apps/mtm/serializers.py @@ -34,7 +34,7 @@ class MaterialSerializer(CustomModelSerializer): model = Material fields = '__all__' read_only_fields = EXCLUDE_FIELDS - + def get_full_name(self, obj): return f'{obj.name}|{obj.specification if obj.specification else ""}|{obj.model if obj.model else ""}|{obj.process.name if obj.process else ""}' @@ -119,12 +119,10 @@ class RouteSerializer(CustomModelSerializer): material_ = MaterialSerializer(source='material', read_only=True) process_name = serializers.CharField(source='process.name', read_only=True) process_cate = serializers.CharField(source='process.cate', read_only=True) - material_in_ = MaterialSimpleSerializer(source='material_in', read_only=True) - material_out_ = MaterialSimpleSerializer(source='material_out', read_only=True) - material_in_name = serializers.CharField( - source='material_in.name', read_only=True) - material_out_name = serializers.CharField( - source='material_out.name', read_only=True) + material_in_name = serializers.StringRelatedField( + source='material_in', read_only=True) + material_out_name = serializers.StringRelatedField( + source='material_out', read_only=True) material_out_type = serializers.CharField( source='material_out.type', read_only=True) material_out_is_hidden = serializers.BooleanField(