我的 Django 应用程序的 views.py 如下,
class MemberCreate(generics.CreateAPIView):
queryset = members.objects.all()
serializer_class = MemberSerializer
permission_classes = (permissions.IsAdminUser,)
def create(self, serializer):
''' I wanted to do some stuff with serializer.data here '''
pass
在上面,如果我覆盖 create 函数,返回失败并出现以下错误,即使我不做任何事情并且只是写通过它也会失败,
AssertionError: Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<class 'NoneType'>`
最佳答案
返回应该是 instanceof
Response
.您可以返回parent
类回复,在您的 stuff
之后
def create(self, request, *args, **kwargs):
''' I wanted to do some stuff with serializer.data here '''
return super(MemberCreate, self).create(request, *args, **kwargs)
否则,如果您不想要父响应,则只需返回
Response
实例def create(self, request, *args, **kwargs):
''' I wanted to do some stuff with serializer.data here '''
return Response(status=204)
关于python - 覆盖 django rest 泛型 CreateAPIView 中的创建方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45981835/