Python/Django n00b moving over from javascript.
我希望使用Django REST Framework尝试添加API终结点,我希望该终结点最终将能够使用PATCH请求的正文来更新User,但现在我只希望它不引发500错误。
我已将其添加到urlpatterns中:
url(r'update/$', views.UpdateView.as_view(), name="update_user"),
Run Code Online (Sandbox Code Playgroud)
那应该带来这种观点:
from django.contrib.auth.models import User
from rest_framework.generics import UpdateAPIView
from .serializers import UserSerializer
class UpdateView(UpdateAPIView):
queryset = User.objects.all()
serializer_class = UserSerializer
Run Code Online (Sandbox Code Playgroud)
UserSerializer看起来像这样:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('username', 'pk', 'status')
Run Code Online (Sandbox Code Playgroud)
似乎每次我访问路线时都会得到此提示:
TypeError at /api/update/
'BasePermissionMetaclass' object is not iterable
Run Code Online (Sandbox Code Playgroud)
我不知道我在做什么-以前有人看过吗?
更新:完整回溯:
Internal Server Error: /api/update/
Traceback (most recent call last):
File "path/to/myapp/env/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "path/to/myapp/env/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, …Run Code Online (Sandbox Code Playgroud)