written codes:
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"})
Error Showing..
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.
As the above error says, “If you need to access data before committing to the database then inspect ‘serializer.validated_data’ instead.”
Solution:: we can call this to access the data, like:-
user_id = serializerdata.validated_data.get('user_id')
full code is here..
serializerdata = serializers.CreateSerializer(data=request.data)
if serializerdata.is_valid():
user_id = serializerdata.validated_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"})
Check on stackoverflow: https://stackoverflow.com/questions/58538306/you-cannot-call-save-after-accessing-serializer-data/58538421#58538421