From 66cfee6e3db594274de317bbb55733ad80f60e10 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 19 Jun 2023 10:04:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20pgoaldept=E6=94=AF=E6=8C=81=E5=A4=9A?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/supervision/filters.py | 13 ++++++++++++- server/apps/supervision/serializers.py | 1 + server/apps/supervision/views.py | 4 ++-- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/server/apps/supervision/filters.py b/server/apps/supervision/filters.py index fa5cc31..cbaa808 100644 --- a/server/apps/supervision/filters.py +++ b/server/apps/supervision/filters.py @@ -1,5 +1,5 @@ from django_filters import rest_framework as filters -from .models import Record +from .models import Record, PgoalDept class RecordFilter(filters.FilterSet): @@ -13,3 +13,14 @@ class RecordFilter(filters.FilterSet): class Meta: model = Record fields = ['up_date','content__name','belong_dept','state','is_self','task', 'content', 'content__candoself'] + +class PgoalDeptFilter(filters.FilterSet): + ['goal_key', 'belong_dept', 'year', 'task2do'] + class Meta: + model = PgoalDept + fields = { + 'goal_key': ['exact', 'in'], + 'belong_dept': ['exact', 'in'], + 'year': ['exact', 'in'], + 'task2do': ['exact', 'in'], + } \ No newline at end of file diff --git a/server/apps/supervision/serializers.py b/server/apps/supervision/serializers.py index 87f3319..a96cb31 100644 --- a/server/apps/supervision/serializers.py +++ b/server/apps/supervision/serializers.py @@ -146,6 +146,7 @@ class BaseMeta: class PgoalDeptSerializer(serializers.ModelSerializer): goal_file_ = FileSimpleSerializer(source='goal_file', read_only=True) goal_files_ = FileSimpleSerializer(source='goal_files', many=True, read_only=True) + belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True) class Meta(BaseMeta): model = PgoalDept read_only_fields = BaseMeta.read_only_fields + ['goal_value_a', 'goal_value_c', 'goal_files', 'goal_key', 'goal_file_', 'goal_files_'] diff --git a/server/apps/supervision/views.py b/server/apps/supervision/views.py index c16ead6..a339d45 100644 --- a/server/apps/supervision/views.py +++ b/server/apps/supervision/views.py @@ -19,7 +19,7 @@ from apps.system.permission import get_permission_list, has_permission from apps.system.permission_data import RbacFilterSet from django.db import transaction -from .filters import RecordFilter +from .filters import RecordFilter, PgoalDeptFilter from .models import * from .serializers import * @@ -591,7 +591,7 @@ class Domixin: class PgoalDeptViewSet(Domixin, CreateUpdateCustomMixin, ModelViewSet): queryset = PgoalDept.objects.all() serializer_class = PgoalDeptSerializer - filterset_fields = ['goal_key', 'belong_dept', 'year', 'task2do'] + filterset_class = PgoalDeptFilter def perform_update(self, serializer): instance = serializer.save()