diff --git a/server/apps/ability/serializers_qtask.py b/server/apps/ability/serializers_qtask.py index c16835d..a7119fa 100644 --- a/server/apps/ability/serializers_qtask.py +++ b/server/apps/ability/serializers_qtask.py @@ -3,7 +3,7 @@ from rest_framework import serializers from apps.system.models import City, Organization from .models import QAction, QActionItem, QOrg, QTask, Quali, QualiLib from django.db import transaction -from apps.system.serializers import OrganizationSimpleSerializer, DictSerializer +from apps.system.serializers import CitySerializer, FileSimpleSerializer, OrganizationSimpleSerializer, DictSerializer, UserSimpleSerializer from rest_framework.exceptions import ParseError @@ -15,7 +15,8 @@ class QualiLibListSerializer(serializers.ModelSerializer): class QualiListSerializer(serializers.ModelSerializer): province_name = serializers.CharField(source='province.name', read_only=True) city_name = serializers.CharField(source='city.name', read_only=True) - service = serializers.CharField(source='org.service', read_only=True) + org_ = OrganizationSimpleSerializer(source='org', read_only=True) + citys_ = CitySerializer(source='citys', many=True, read_only=True) class Meta: model = Quali fields = '__all__' @@ -78,6 +79,8 @@ class QActionListSerializer(serializers.ModelSerializer): quali_name = serializers.CharField(source='quali.name', read_only=True) atype_name = serializers.CharField(source='atype.name', read_only=True) afield_name = serializers.CharField(source='afield.name', read_only=True) + file_ = FileSimpleSerializer(source='file', read_only=True) + create_by_ = UserSimpleSerializer(source='create_by', read_only=True) class Meta: model = QAction fields = '__all__' diff --git a/server/apps/ability/views_qtask.py b/server/apps/ability/views_qtask.py index fd0a3d5..d7d361a 100644 --- a/server/apps/ability/views_qtask.py +++ b/server/apps/ability/views_qtask.py @@ -22,7 +22,7 @@ class QualiLibViewSet(PageOrNot, ListModelMixin, GenericViewSet): class QualiViewSet(ListModelMixin, GenericViewSet): perms_map = {'get': '*'} - queryset = Quali.objects.all() + queryset = Quali.objects.select_related('org', 'province', 'city').prefetch_related('citys') serializer_class = QualiListSerializer search_fields = ['name', 'type', 'grade', 'scope', 'level', 'description'] ordering = ['org', 'org__sort', 'create_time'] @@ -99,7 +99,7 @@ def cal_count(qtask, org): qorg.save() class QActionViewSet(PageOrNot, ListModelMixin, DestroyModelMixin, RetrieveModelMixin,GenericViewSet): - perms_map = {'get': 'qtask_view'} + perms_map = {'get': 'qtask_view', 'post': 'qaction_delete'} queryset = QAction.objects.select_related('file', 'atype', 'afield', 'qtask', 'belong_dept') filterset_fields = ['qtask', 'belong_dept', 'atype', 'afield'] serializer_class = QActionListSerializer