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
fields = '__all__'
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 RpjUpdateSerializer(CustomModelSerializer):
class Meta:
model = Rpj
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):
rparty_name = serializers.CharField(source='rparty.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,
RfileListSerializer, RpartySerializer, RpjListSerializer, RpjfileSerializer,
RpjfileUpdateSerializer, RpjmemberCreateSerializer,
RpjCreateUpdateSerializer, RpjmemberSerializer, RpjmemberUpdateSerializer)
RpjCreateSerializer, RpjUpdateSerializer, RpjmemberSerializer, RpjmemberUpdateSerializer)
from apps.rpm.services import sync_to_rep
from apps.system.models import Dictionary, Post, User, UserPost
from apps.system.serializers import UserCreateSerializer
@ -160,8 +160,8 @@ class RcertificateViewSet(CustomModelViewSet):
class RpjViewSet(CustomModelViewSet):
perms_map = {'get': 'rpj.view', 'post': 'rpj.create', 'put': 'rpj.update', 'delete': 'rpj.update'}
queryset = Rpj.objects.all()
create_serializer_class = RpjCreateUpdateSerializer
update_serializer_class = RpjCreateUpdateSerializer
create_serializer_class = RpjCreateSerializer
update_serializer_class = RpjUpdateSerializer
serializer_class = RpjListSerializer
select_related_fields = ['rparty', 'belong_dept', 'ticket', 'ticket__state']
search_fields = ['name']