我研究 Rest 框架并遇到了一个问题:detail": "Method "PATCH"not allowed.我根据文档做所有事情。我只想更新字段:名字和密码。
观看次数
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)
我做错了什么?
最佳答案
您确定您的网址正确吗?在对端点进行 PATCH 或 PUT 调用时,您必须传入对象的标识符。所以不是
/api/books/
传入
/api/books/1/
关于python - 使用补丁方法时,出现错误 : "PATCH" not allowed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50040379/