feat: mlog list 接口一点优化

This commit is contained in:
caoqianming 2024-11-19 09:25:36 +08:00
parent 7c85d3df65
commit 1cb64b26af
2 changed files with 7 additions and 18 deletions

View File

@ -236,8 +236,6 @@ class MlogSerializer(CustomModelSerializer):
source='create_by.name', read_only=True) source='create_by.name', read_only=True)
update_by_name = serializers.CharField( update_by_name = serializers.CharField(
source='update_by.name', read_only=True) source='update_by.name', read_only=True)
handovers = serializers.PrimaryKeyRelatedField(
source='handover_mlog', read_only=True, many=True)
material_out_ = MaterialSimpleSerializer( material_out_ = MaterialSimpleSerializer(
source='material_out', read_only=True) source='material_out', read_only=True)
material_out_name = serializers.StringRelatedField( material_out_name = serializers.StringRelatedField(
@ -254,24 +252,13 @@ class MlogSerializer(CustomModelSerializer):
source='equipment', read_only=True) source='equipment', read_only=True)
equipment_2_name = serializers.StringRelatedField( equipment_2_name = serializers.StringRelatedField(
source='equipment_2', read_only=True) source='equipment_2', read_only=True)
shift = serializers.PrimaryKeyRelatedField(
label='班次ID', queryset=Shift.objects.all(), required=True)
mgroup = serializers.PrimaryKeyRelatedField(
label='工段ID', queryset=Mgroup.objects.all(), required=True
)
material_out = serializers.PrimaryKeyRelatedField(
label='产物ID', queryset=Material.objects.all(), required=True
)
shift_name = serializers.CharField(source='shift.name', read_only=True) shift_name = serializers.CharField(source='shift.name', read_only=True)
mlogb = MlogbSerializer( mlogb = MlogbSerializer(
label='多产出件信息', many=True, required=False) label='多产出件信息', many=True, required=False)
mlogb_full = MlogbDetailSerializer( mlogb_full = MlogbDetailSerializer(
label='物料信息', many=True, read_only=True label='物料信息', many=True, read_only=True)
)
handle_users_ = UserSimpleSerializer( handle_users_ = UserSimpleSerializer(
source='handle_users', many=True, read_only=True) source='handle_users', many=True, read_only=True)
equipments_name = serializers.StringRelatedField(
source='equipments', read_only=True, many=True)
ticket_ = TicketSimpleSerializer(source='ticket', read_only=True) ticket_ = TicketSimpleSerializer(source='ticket', read_only=True)
test_user_name = serializers.CharField(source='test_user.name', read_only=True) test_user_name = serializers.CharField(source='test_user.name', read_only=True)
@ -281,7 +268,9 @@ class MlogSerializer(CustomModelSerializer):
read_only_fields = EXCLUDE_FIELDS + \ read_only_fields = EXCLUDE_FIELDS + \
['submit_time', 'submit_user', 'material_outs'] ['submit_time', 'submit_user', 'material_outs']
extra_kwargs = { extra_kwargs = {
"batch": {"required": True} "batch": {"required": True},
"shift": {"required": True},
"material_out": {"required": True}
} }
def create(self, validated_data): def create(self, validated_data):

View File

@ -149,10 +149,10 @@ class MlogViewSet(CustomModelViewSet):
""" """
queryset = Mlog.objects.all() queryset = Mlog.objects.all()
serializer_class = MlogSerializer serializer_class = MlogSerializer
select_related_fields = ['create_by', 'update_by', 'mtask', select_related_fields = ['create_by', 'update_by', 'mtask', 'mtaskb',
'handle_user', 'handle_user_2', 'equipment', 'handle_user', 'handle_user_2', 'equipment', 'mgroup__belong_dept',
'equipment_2', 'material_in', 'material_out', 'route__routepack', 'equipment_2', 'material_in', 'material_out', 'route__routepack',
'supplier', 'ticket', 'mgroup__process', 'test_user'] 'supplier', 'ticket', 'mgroup__process', 'test_user', 'handle_leader', 'test_user']
prefetch_related_fields = ['handle_users', prefetch_related_fields = ['handle_users',
'material_outs', 'b_mlog', 'equipments'] 'material_outs', 'b_mlog', 'equipments']
filterset_class = MlogFilter filterset_class = MlogFilter