diff --git a/apps/mtm/migrations/0052_routepack_document.py b/apps/mtm/migrations/0052_routepack_document.py new file mode 100644 index 00000000..49cf5f82 --- /dev/null +++ b/apps/mtm/migrations/0052_routepack_document.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.12 on 2025-02-19 07:34 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('system', '0006_auto_20241213_1249'), + ('mtm', '0051_route_parent'), + ] + + operations = [ + migrations.AddField( + model_name='routepack', + name='document', + field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.SET_NULL, to='system.file', verbose_name='工艺文件'), + ), + ] diff --git a/apps/mtm/models.py b/apps/mtm/models.py index 166543c2..60415aa5 100644 --- a/apps/mtm/models.py +++ b/apps/mtm/models.py @@ -212,6 +212,7 @@ class RoutePack(CommonADModel): Material, verbose_name='产品', on_delete=models.CASCADE) ticket = models.ForeignKey('wf.ticket', verbose_name='关联工单', on_delete=models.SET_NULL, related_name='routepack_ticket', null=True, blank=True, db_constraint=False) + document = models.ForeignKey("system.file", verbose_name='工艺文件', on_delete=models.SET_NULL, null=True, blank=True, db_constraint=False) class Route(CommonADModel): """ diff --git a/apps/mtm/serializers.py b/apps/mtm/serializers.py index c9547ca5..f0153b05 100644 --- a/apps/mtm/serializers.py +++ b/apps/mtm/serializers.py @@ -7,6 +7,7 @@ from rest_framework.exceptions import ValidationError, ParseError from apps.system.models import Dept, UserPost from django.db import transaction from apps.wf.serializers import TicketSimpleSerializer +from apps.system.serializers import FileSerializer class ShiftSerializer(CustomModelSerializer): @@ -137,6 +138,7 @@ class RoutePackSerializer(CustomModelSerializer): source='material', read_only=True) create_by_name = serializers.CharField(source='create_by.name', read_only=True) ticket_ = TicketSimpleSerializer(source='ticket', read_only=True) + document_ = FileSerializer(source='document', read_only=True) class Meta: model = RoutePack fields = '__all__' diff --git a/apps/mtm/views.py b/apps/mtm/views.py index a5322abe..47c5c2d2 100644 --- a/apps/mtm/views.py +++ b/apps/mtm/views.py @@ -209,7 +209,7 @@ class RoutePackViewSet(CustomModelViewSet): queryset = RoutePack.objects.all() serializer_class = RoutePackSerializer search_fields = ['name'] - select_related_fields = ['material', 'create_by'] + select_related_fields = ['material', 'create_by', "document"] filterset_fields = ['material', 'state'] def update(self, request, *args, **kwargs):