我使用的是Django Rest Framework,我想创建一个临时的post方法来注册新用户。
当我尝试下面的代码时,出现以下错误:
预期的视图UserViewSet将使用名为“ pk”的URL关键字参数进行调用。修复您的URL conf,或
.lookup_field
在视图上正确设置属性。
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
permission_classes = (permissions.AllowAny,)
@list_route(methods=['post'])
def register(self, request, pk=None):
user = self.get_object()
user.save()
return Response(user)
您正在创建一个新用户,因此没有对象self.get_object()
。如果您正在查看,更改或删除已经存在的对象(并由pk
URL模式中的参数标识),则此方法将起作用。
您应该只创建一个新的用户对象,而不是call self.get_object()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句