如何在Django REST Framework中的RetrieveAPIView中更改查找kwargs字段的键?

pri*_*vex 2 python api django django-rest-framework

Django REST Framework使用时pk具有查找字段, RetrieveApiView并且必须在url中定义相同的内容kwargs.

这使得网址看起来像:

url(r'^(/foobar/(?P<pk>[\d]+)/$', FooBarFetch.as_view(), name="foo_bar")
Run Code Online (Sandbox Code Playgroud)

但我想pk用更具描述性的内容替换url中的内容foo_bar_id.

更改look_up_field不起作用,因为它仍然必须使用pk执行查找.

只需要在网址中更改kwrags密钥.

pri*_*vex 8

所以我挖了类GenericAPIView等,发现它lookup_url_kwarg为此目的使用了一个字段.

默认情况下,它None使得kwarg键pk 位于url中.

我们只需要覆盖字段,如:

lookup_url_kwarg = 'foo_bar_id'

foo_bar_idurl中使用的密钥在哪里.