Cha*_*rma 7 python django python-3.x django-rest-framework
从 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.
Run Code Online (Sandbox Code Playgroud)
我写的代码是:
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"})
Run Code Online (Sandbox Code Playgroud)
正如错误所示,您无法访问serializer.data
然后调用save()
。
你应该改为用户validated_data
:
user_id = serializerdata.validated_data.get('user_id')
Run Code Online (Sandbox Code Playgroud)