From c91533a328e4acd8a410039c9e8c3de1a6cd7e8c Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 27 Dec 2023 09:51:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mlog=E5=A2=9E=E5=8A=A0equipments?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wpm/migrations/0039_mlog_equipments.py | 19 +++++++++++++++++++ apps/wpm/models.py | 2 ++ apps/wpm/serializers.py | 2 ++ apps/wpm/views.py | 3 ++- 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 apps/wpm/migrations/0039_mlog_equipments.py diff --git a/apps/wpm/migrations/0039_mlog_equipments.py b/apps/wpm/migrations/0039_mlog_equipments.py new file mode 100644 index 00000000..9b8979a7 --- /dev/null +++ b/apps/wpm/migrations/0039_mlog_equipments.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.12 on 2023-12-27 01:46 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('em', '0009_alter_equipment_description'), + ('wpm', '0038_auto_20231218_1420'), + ] + + operations = [ + migrations.AddField( + model_name='mlog', + name='equipments', + field=models.ManyToManyField(blank=True, to='em.Equipment', verbose_name='多选生产设备'), + ), + ] diff --git a/apps/wpm/models.py b/apps/wpm/models.py index b2a1bcce..746d5071 100644 --- a/apps/wpm/models.py +++ b/apps/wpm/models.py @@ -104,6 +104,8 @@ class Mlog(CommonADModel): Equipment, verbose_name='生产设备', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_equipment') equipment_2 = models.ForeignKey( Equipment, verbose_name='生产设备2', on_delete=models.CASCADE, null=True, blank=True, related_name='mlog_equipment_2') + equipments = models.ManyToManyField( + Equipment, verbose_name='多选生产设备', blank=True) index = models.PositiveSmallIntegerField('第几锅', default=0) shift = models.ForeignKey( diff --git a/apps/wpm/serializers.py b/apps/wpm/serializers.py index 4e6a503e..a7474b7b 100644 --- a/apps/wpm/serializers.py +++ b/apps/wpm/serializers.py @@ -215,6 +215,8 @@ class MlogSerializer(CustomModelSerializer): label='多产出件信息', many=True, required=False) handle_users_ = UserSimpleSerializer( source='handle_users', many=True, read_only=True) + equipments_name = serializers.StringRelatedField( + source='equipments', read_only=True, many=True) class Meta: model = Mlog diff --git a/apps/wpm/views.py b/apps/wpm/views.py index d8290f19..5efe1b2d 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -134,7 +134,8 @@ class MlogViewSet(CustomModelViewSet): serializer_class = MlogSerializer select_related_fields = ['create_by', 'update_by', 'mtask', 'handle_user', 'handle_user_2', 'equipment', 'equipment_2'] - prefetch_related_fields = ['handle_users', 'material_outs', 'b_mlog'] + prefetch_related_fields = ['handle_users', + 'material_outs', 'b_mlog', 'equipments'] filterset_class = MlogFilter @transaction.atomic