无法放置ModelViewSet Django Rest Framework

ice*_*x3d 4 python django django-rest-framework

我不确定为什么我不能像文档中所示对ModelViewSet进行PUT请求,但是PUT无法正常工作。有任何想法吗?我在下面包括了我的视图和序列化器。

class UserProfileViewSet(viewsets.ModelViewSet):
    queryset = UserProfile.objects.all()
    serializer_class = UserProfileSerializer
    filter_fields = ('user', 'id', 'account_type')

class UserProfileSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserProfile`

REST_FRAMEWORK = {
    'DEFAULT_MODEL_SERIALIZER_CLASS':
        'rest_framework.serializers.ModelSerializer',
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
    ),
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.AllowAny',
    ),
    'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',)
}
Run Code Online (Sandbox Code Playgroud)

Gus*_*Gus 7

您是否可能没有正确提出请求?您需要在URL中指定要尝试更新的对象。

例如,URL需要包含您要更新的对象的ID: http:// localhost:8000 / api / user / 16 /

您得到“方法\” PUT \“不允许。当您未在请求中指定对象时。


tim*_*mop 4

根据您在这里显示的内容,它应该可以工作。PUT 在列表视图中不起作用,仅在对象详细信息视图中起作用。尝试创建一个对象并查看其详细视图,然后检查是否可以在其中看到 PUT 按钮