Вы не можете вызвать `.save ()` после доступа к `serializer.data` - PullRequest
0 голосов
/ 24 октября 2019

Ошибка, отображаемая при публикации данных из API

You cannot call `.save()` after accessing `serializer.data`.If you need to access data before committing to the database then inspect 'serializer.validated_data' instead. 

Мой написанный код:


serializerdata = serializers.CreateSerializer(data=request.data)
if serializerdata.is_valid():
    user_id = serializerdata.data.get('user_id')
    if user_id==2:
        serializerdata.save(i_created_by=request.user)
        return JsonResponse({"message": "success"}) 
    else:
        return JsonResponse({"message": "user invalid"})    
else:
    return JsonResponse({"message": "error"})   

1 Ответ

2 голосов
/ 24 октября 2019

Как говорится в сообщении об ошибке, вы не можете получить доступ к serializer.data, а затем позвонить save().

. Вместо этого вам следует ввести validated_data:

user_id = serializerdata.validated_data.get('user_id')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...