我有一个端点,该端点的ID为task/:task_id/
。但是当我尝试访问端点中的ID时,出现此错误。 TypeError: get() got multiple values for argument 'task_id'
我试图给task_id参数一个默认值。
from huey.contrib.djhuey import HUEY
from rest_framework.views import APIView
class TaskStatus(APIView):
def get(self, task_id):
return Response({
'result': Huey.result(task_id)
})
url(r'tasks/(?P<task_id>[a-f0-9\-]{36})/', TaskStatus.as_view(), name='task-status'),
我希望task_id
从url参数返回ID。
答案 0 :(得分:3)
key-three
的第一个参数必须是get
本身。更改
request
对此:
def get(self, task_id):
...
答案 1 :(得分:1)
您的get
函数错误。收到错误消息的原因是该函数没有足够的参数,因为它也期望使用request
参数。
由于有1个参数短,因此出现错误消息是因为它试图将request
和task_id
都限制在task_id
参数中,因此错误消息的“多个值”部分
这应该可以解决问题。
class TaskStatus(APIView):
def get(self, request, task_id):
return Response({
'result': Huey.result(task_id)
})