我正在使用Django Rest Framework,我想创建一个用于注册新用户的临时post方法。
当我尝试下面的代码时,我收到以下错误:
使用名为“pk”的URL关键字参数调用预期视图UserViewSet。修复您的网址,或者在视图上正确设置
.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)
答案 0 :(得分:0)
您正在创建新用户,因此self.get_object()
无法获得任何对象。如果您正在查看,更改或删除已经存在的对象(并且将由URL模式中的pk
参数标识),则此方法将起作用。
您应该只创建一个新的用户对象,而不是调用self.get_object()
。