opl worker 返回详细信息

This commit is contained in:
曹前明 2022-06-25 13:41:15 +08:00
parent 618e49eec1
commit b6e549b9a7
2 changed files with 11 additions and 4 deletions

View File

@ -1,6 +1,6 @@
from apps.hrm.models import Certificate
from apps.opm.models import GasCheck, Operation, Opl, OplCate, OplCert, OplWorker
from apps.system.serializers import DictSerializer, DictSimpleSerializer
from apps.system.serializers import DictSerializer, DictSimpleSerializer, UserSimpleSerializer
from apps.utils.serializers import CustomModelSerializer
from apps.utils.constants import EXCLUDE_FIELDS
from rest_framework import serializers
@ -100,11 +100,18 @@ class OplWorkerUpdateSerializer(CustomModelSerializer):
return oplw
class OplWorkerSerializer():
class OplWorkerSerializer(CustomModelSerializer):
worker_ = UserSimpleSerializer(source='worker', read_only=True)
certificates_ = serializers.SerializerMethodField()
class Meta:
model = OplWorker
fields = '__all__'
def get_certificates_(self, obj):
cs = OplCert.objects.filter(opl_worker=obj)
return cs.values('certificate', 'name', 'type', 'number', 'issue_date', 'expiration_date', 'review_date', 'file')
class GasCheckCreateUpdateSerializer(CustomModelSerializer):
class Meta:

View File

@ -1,7 +1,7 @@
from django.shortcuts import render
from rest_framework.response import Response
from apps.opm.models import GasCheck, Operation, Opl, OplCate, OplWorker
from apps.opm.serializers import GasCheckCreateUpdateSerializer, GasCheckSerializer, OperationCreateUpdateSerializer, OperationSerializer, OplCateCreateUpdateSerializer, OplCateDetailSerializer, OplCateSerializer, OplCreateUpdateSerializer, OplSerializer, OplWorkerCreateSerializer, OplWorkerUpdateSerializer
from apps.opm.serializers import GasCheckCreateUpdateSerializer, GasCheckSerializer, OperationCreateUpdateSerializer, OperationSerializer, OplCateCreateUpdateSerializer, OplCateDetailSerializer, OplCateSerializer, OplCreateUpdateSerializer, OplSerializer, OplWorkerCreateSerializer, OplWorkerSerializer, OplWorkerUpdateSerializer
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
from rest_framework.exceptions import ParseError
from rest_framework.mixins import CreateModelMixin, ListModelMixin, DestroyModelMixin
@ -64,7 +64,7 @@ class OplWorkerViewSet(CustomModelViewSet):
queryset = OplWorker.objects.all()
create_serializer_class = OplWorkerCreateSerializer
update_serializer_class = OplWorkerUpdateSerializer
serializer_class = OplSerializer
serializer_class = OplWorkerSerializer
def destroy(self, request, *args, **kwargs):
obj = self.get_object()