Python Can';t放置ModelViewSet Django Rest框架
我不知道为什么我不能像文档中所示那样将请求放入ModelViewSet,但是PUT不起作用。有什么想法吗?我在下面包含了我的视图和序列化程序Python Can';t放置ModelViewSet Django Rest框架,python,django,django-rest-framework,Python,Django,Django Rest Framework,我不知道为什么我不能像文档中所示那样将请求放入ModelViewSet,但是PUT不起作用。有什么想法吗?我在下面包含了我的视图和序列化程序 class UserProfileViewSet(viewsets.ModelViewSet): queryset = UserProfile.objects.all() serializer_class = UserProfileSerializer filter_fields = ('user', 'id', 'account_
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',)
}
根据你在这里展示的,它应该是有效的。PUT在列表视图中不起作用,仅在对象详细信息视图中起作用。尝试创建一个对象并查看其详细视图,检查是否可以在PUT请求中看到PUT按钮,您应该有一个名为“\u method”和值为“PUT”的参数。就是这样。有没有可能您的请求不正确?您需要在url中指定要更新的对象 例如,url需要包含您尝试更新的对象的id:
当您没有在请求中指定对象时,您会得到“Method\”PUT\“not allowed.”。在UserProfile的末尾有一个额外的引号字符。可能是这样吗?