使用补丁方法时,出现错误:“PATCH”不允许

时间:2018-04-26 10:13:54

标签: python django django-rest-framework

我研究Rest框架并面临一个问题:详细信息“:”方法“PATCH”不允许。我根据文档做了一切。我只想要更新字段:first_name和password。

视图

class UpdateUserSet(viewsets.ModelViewSet):
   permission_classes = (IsAuthenticated,)
   serializer_class = UserSerialize

   def partial_update(self, request, pk=None):
       return Response(status=status.HTTP_201_CREATED)

序列化

class UserSerialize(serializers.ModelSerializer):
   first_name = serializers.CharField(max_length=30)
   password = serializers.CharField(write_only=True)

   class Meta:
       model = User
       fields = ('first_name', 'password',)

路由器

router.register(r'^updateuser', views.UpdateUserSet, base_name=User)

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您确定您的网址正确吗?对端点进行 PATCH 或 PUT 调用时,必须传入对象的标识符。所以代替

/api/books/

传入

/api/books/1/