diff --git a/apps/qm/views.py b/apps/qm/views.py index 522c6cb3..72bca814 100644 --- a/apps/qm/views.py +++ b/apps/qm/views.py @@ -3,7 +3,8 @@ from rest_framework.decorators import action from rest_framework.exceptions import ParseError from rest_framework.views import APIView from rest_framework.serializers import Serializer -from apps.qm.models import QuaStat, TestItem, Ftest, Ptest, FtestWork +from apps.qm.models import QuaStat, NotOkOption, Ftest, Ptest, FtestWork +from apps.qm.models import TestItem, Defect, Qct, QctTestItem, QctMat, QctDefect from apps.qm.serializers import QuaStatSerializer, TestItemSerializer, QuaStatUpdateSerializer, FtestSerializer, PtestSerializer, \ FtestWorkCreateUpdateSerializer, FtestWorkSerializer, DefectSerializer, QctSerializer, QctTestItemSerializer, QctDefectSerializer, QctMatSerializer, \ QctDetailSerializer @@ -16,7 +17,6 @@ from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet from apps.wpm.models import SfLog from apps.qm.filters import QuaStatFilter, TestItemFilter, FtestWorkFilter, QctFilter from django.db import transaction -from apps.qm.models import NotOkOption, Defect, Qct, QctTestItem, QctMat, QctDefect from apps.qm.services import ftestwork_submit from apps.utils.thread import MyThread from apps.wpm.services_2 import get_alldata_with_batch_and_store @@ -103,6 +103,18 @@ class TestItemViewSet(CustomModelViewSet): search_fields = ['tags', 'name', 'number', 'mcate_tags'] ordering = ['id'] + def add_info_for_list(self, data): + affects_list = [i['affects'] for i in data] + affectIds = [] + for item in affects_list: + affectIds.extend(item) + affects = TestItem.objects.filter(id__in=affectIds).values_list('id', 'name') + affects_dict = dict(affects) + for item in data: + affects = item["affects"] + item["affects_name"] = ";".join([affects_dict.get(x, '未知') for x in affects]) + return data + class QuaStatViewSet(ListModelMixin, BulkUpdateModelMixin, CustomGenericViewSet): """