从Viewset数据更新DRF序列化器中的只读字段

时间:2019-01-22 05:14:45

标签: python django-rest-framework

我在DRF中有一个序列化器,如下所示:

class UserRegistrationSerializer(serializers.ModelSerializer):
    full_name = serializers.CharField(max_length=200)
    email_id = serializers.EmailField()
    jira_ticket = serializers.ReadOnlyField()

    class Meta:
        model = User
        fields = ['full_name', 'email_id', 'jira_ticket']



class UserViewSet(viewsets.ViewSet):
    def create(self, request):
        serializer = UserRegistrationSerializer(data=request.data)
        if serializer.is_valid():
            user_obj= UserWorkFlow(request_data=request.data,                                                        
                                   serializer=serializer)
            response = user_obj.response()
            return response
        else:
            return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

很明显,这是一个在系统上创建新用户的序列化程序,它在请求有效负载中需要用户的全名 email_id 新用户。作为用户创建的一部分,分别创建了 jira_ticket

但是,Jira票证数据仅在 View 中可用,而在 Serializer 中不可用。如何从视图中捕获此数据并更新序列化程序,因此该响应具有 jira_ticket 信息吗?

0 个答案:

没有答案