在我的代码中,我有一个用户的视图集。
我想要的是只允许读取操作(/用户/42 and /users/)ReadOnlyModelViewSet 做得很好。
另外,我想要一个/用户/注册我可以的网址POST以便注册新用户。
class UserViewSet(viewsets.ReadOnlyModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
@list_route(methods=['post'])
def register(request):
serializer = UserSerializer(data=request.DATA)
if serializer.is_valid():
user = User.objects.create_user(
username = serializer.init_data['username'],
password = serializer.init_data['password'],
)
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
有几个问题:
thanks!
详细路由和详细列表将在 DRF 3.0 上弃用,而是使用 @action:
from rest_framework.decorators import action
@action(methods=['POST'], detail=True)
def sale(self):
...
当此方法将考虑由该端点表示的模型的单个实例时,请使用detail=True;当它需要表示该模型的查询集时,请使用False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)