我研究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)
我做错了什么?
答案 0 :(得分:0)
您确定您的网址正确吗?对端点进行 PATCH 或 PUT 调用时,必须传入对象的标识符。所以代替
/api/books/
传入
/api/books/1/