Django REST:将对象筛选器设置为URL参数

Django REST:将对象筛选器设置为URL参数,django,rest,url,Django,Rest,Url,说到Django和休息,我是个笨蛋,所以请容忍我 我正在尝试将筛选器变量设置为等于url参数。URL参数很简单: foo.com/api/physicians/2 我希望它的工作方式是将URL参数设置为lookup字段,如下所示: class DepartmentsAndPhysiciansViewset(viewsets.ModelViewSet): lookup_field = 'department_id' serializer_class = DepartmentsAn

说到Django和休息,我是个笨蛋,所以请容忍我

我正在尝试将筛选器变量设置为等于url参数。URL参数很简单:

foo.com/api/physicians/2
我希望它的工作方式是将URL参数设置为lookup字段,如下所示:

class DepartmentsAndPhysiciansViewset(viewsets.ModelViewSet):
    lookup_field = 'department_id'
    serializer_class = DepartmentsAndPhysiciansSerializer
    queryset = Physicians.objects.filter(department_id=lookup_field)
但结果是:

ValueError: Field 'id' expected a number but got 'department id'.
因此,我手动设置部门id,如下所示:

class DepartmentsAndPhysiciansViewset(viewsets.ModelViewSet):
    lookup_field = 'department_id'
    serializer_class = DepartmentsAndPhysiciansSerializer
    queryset = Physicians.objects.filter(department_id=5)
它是有效的

显然,我不能硬编码部门id,它需要来自URL参数

有没有办法将URL参数设置为等于查找字段(部门id)

谢谢