这是我在 Views.py 中的代码
class NotificationsViewSet(viewsets.ModelViewSet):
permission_classes = [permissions.IsAuthenticated, TokenHasReadWriteScope]
queryset = Notifications.objects.all()
serializer_class = NotificationsSerializer
filter_fields = ('status','task','survey_type',)
def put(self, request, pk, format=None):
notifications = self.get_object(pk)
serializer = NotificationsSerializer(notifications, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, pk, format=None):
notifications = self.get_object(pk)
notifications.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
当我尝试使用 PUT 方法时,出现错误 put() 至少需要 3 个参数(给定 2 个参数)
。我的代码有什么问题吗?
最佳答案
def put(self, request, pk, format=None):
它至少需要 3 个参数。喜欢:
self.put(request, pk)
需要传递self
变量。
或者,
put(self, request, pk)
或者最多 4 个参数,
self.put(request, pk, format)
关于python - put() 至少需要 3 个参数(给定 2 个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44447877/