为什么我总是有#34;这个字段是必需的"错误,print serializer.data
为空?
编辑:只有当我使用" HTML表格" - "原始数据"它工作正常。
serializers.py
class TaskSerializer(serializers.Serializer):
task_id = serializers.IntegerField(required=True)
email = serializers.EmailField(required=True)
email_to = serializers.EmailField(required=True)
views.py
class TaskAPIView(APIView):
serializer_class = TaskSerializer
def post(self, request):
serializer = self.serializer_class(**{'data': request.data})
serializer.is_valid()
print serializer.data
return Response(serializer.data, status=status.HTTP_201_CREATED)
答案 0 :(得分:1)
我尝试重现这一点,但使用您的确切代码对我来说效果很好 - 我在print语句中看到request.data
。
我一直都在SerializerClass(data=request.data)
,这也是他们在the source中的表现。也许试试self.serializer_class(data=request.data)
,看看是否有任何区别。除此之外,根据当前的代码,我没有任何其他想法。