fix: rpj update 需要提供belong_dept和rparty

This commit is contained in:
caoqianming 2023-03-17 09:28:54 +08:00
parent be254372c0
commit f303801401
2 changed files with 9 additions and 8 deletions

View File

@ -84,16 +84,17 @@ class RfileListSerializer(CustomModelSerializer):
model = Rfile model = Rfile
fields = '__all__' fields = '__all__'
class RpjUpdateSerializer(CustomModelSerializer):
class RpjCreateUpdateSerializer(CustomModelSerializer):
rparty = serializers.PrimaryKeyRelatedField(queryset=Rparty.objects.all(), required=False, allow_null=True)
belong_dept = serializers.PrimaryKeyRelatedField(queryset=Dept.objects.all(), required=False, allow_null=True)
class Meta: class Meta:
model = Rpj model = Rpj
fields = ['id', 'name', 'contract_number', 'type', 'come_time', 'leave_time', 'belong_dept', 'rparty'] fields = ['id', 'name', 'contract_number', 'type', 'come_time', 'leave_time', 'belong_dept', 'rparty']
class RpjCreateSerializer(RpjUpdateSerializer):
rparty = serializers.PrimaryKeyRelatedField(queryset=Rparty.objects.all(), required=False, allow_null=True)
belong_dept = serializers.PrimaryKeyRelatedField(queryset=Dept.objects.all(), required=False, allow_null=True)
class RpjListSerializer(CustomModelSerializer): class RpjListSerializer(CustomModelSerializer):
rparty_name = serializers.CharField(source='rparty.name', read_only=True) rparty_name = serializers.CharField(source='rparty.name', read_only=True)
belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True) belong_dept_name = serializers.CharField(source='belong_dept.name', read_only=True)

View File

@ -5,7 +5,7 @@ from apps.rpm.serializers import (RcertificateCreateUpdateSerializer,
RemployeeUpdateSerializer, RpartyAssignSerializer, RpartyCreateUpdateSerializer, RemployeeUpdateSerializer, RpartyAssignSerializer, RpartyCreateUpdateSerializer,
RfileListSerializer, RpartySerializer, RpjListSerializer, RpjfileSerializer, RfileListSerializer, RpartySerializer, RpjListSerializer, RpjfileSerializer,
RpjfileUpdateSerializer, RpjmemberCreateSerializer, RpjfileUpdateSerializer, RpjmemberCreateSerializer,
RpjCreateUpdateSerializer, RpjmemberSerializer, RpjmemberUpdateSerializer) RpjCreateSerializer, RpjUpdateSerializer, RpjmemberSerializer, RpjmemberUpdateSerializer)
from apps.rpm.services import sync_to_rep from apps.rpm.services import sync_to_rep
from apps.system.models import Dictionary, Post, User, UserPost from apps.system.models import Dictionary, Post, User, UserPost
from apps.system.serializers import UserCreateSerializer from apps.system.serializers import UserCreateSerializer
@ -160,8 +160,8 @@ class RcertificateViewSet(CustomModelViewSet):
class RpjViewSet(CustomModelViewSet): class RpjViewSet(CustomModelViewSet):
perms_map = {'get': 'rpj.view', 'post': 'rpj.create', 'put': 'rpj.update', 'delete': 'rpj.update'} perms_map = {'get': 'rpj.view', 'post': 'rpj.create', 'put': 'rpj.update', 'delete': 'rpj.update'}
queryset = Rpj.objects.all() queryset = Rpj.objects.all()
create_serializer_class = RpjCreateUpdateSerializer create_serializer_class = RpjCreateSerializer
update_serializer_class = RpjCreateUpdateSerializer update_serializer_class = RpjUpdateSerializer
serializer_class = RpjListSerializer serializer_class = RpjListSerializer
select_related_fields = ['rparty', 'belong_dept', 'ticket', 'ticket__state'] select_related_fields = ['rparty', 'belong_dept', 'ticket', 'ticket__state']
search_fields = ['name'] search_fields = ['name']