Обновить поле только для чтения в сериализаторе DRF из данных Viewset - PullRequest
0 голосов
/ 22 января 2019

У меня есть сериализатор в 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 пользователя в полезной нагрузке запроса для создания нового user.Как часть создания пользователя, jira_ticket создается отдельно.

Однако данные билета Jira доступны только в Представлении , а не в Сериализаторе . Как мне получить эти данные из представления и обновить мой сериализатор, так что ответ содержит информацию jira_ticket ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...