diff --git a/apps/wpm/models.py b/apps/wpm/models.py index cb8357b1..824ed964 100644 --- a/apps/wpm/models.py +++ b/apps/wpm/models.py @@ -145,7 +145,7 @@ class Mlog(CommonADModel): class Mlogb(BaseModel): mlog = models.ForeignKey(Mlog, verbose_name='关联日志', - on_delete=models.CASCADE) + on_delete=models.CASCADE, related_name='b_mlog') material_out = models.ForeignKey( Material, verbose_name='产物', on_delete=models.CASCADE, related_name='mlogb_material_out') count_ok = models.PositiveIntegerField('合格数量', default=0) diff --git a/apps/wpm/views.py b/apps/wpm/views.py index 44d00818..b1cf9951 100644 --- a/apps/wpm/views.py +++ b/apps/wpm/views.py @@ -1,4 +1,5 @@ from django.db import transaction +from django.db.models import Prefetch from django.shortcuts import render from rest_framework.decorators import action from rest_framework.exceptions import ParseError @@ -12,7 +13,7 @@ from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.utils.mixins import BulkCreateModelMixin from .filters import SfLogExpFilter, SfLogFilter, WMaterialFilter, MlogFilter, HandoverFilter -from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover +from .models import SfLog, SfLogExp, StLog, WMaterial, Mlog, Handover, Mlogb from .serializers import (SflogExpSerializer, SfLogSerializer, StLogSerializer, WMaterialSerializer, MlogSerializer, MlogRelatedSerializer, DeptBatchSerializer, HandoverSerializer, GenHandoverSerializer, GenHandoverWmSerializer) from .services import mlog_submit, update_mtask, handover_submit @@ -124,7 +125,7 @@ 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'] + prefetch_related_fields = ['handle_users', 'material_outs', 'b_mlog'] filterset_class = MlogFilter def perform_destroy(self, instance):