Django REST Framework使用pk
,在使用RetrieveApiView
时具有查找字段,并且必须在url kwargs
中定义相同字段。
这使得url看起来像这样:
url(r'^(/foobar/(?P<pk>[\d]+)/$', FooBarFetch.as_view(), name="foo_bar")
但是我想用像foo_bar_id
这样更具描述性的东西来替换url中的pk
。
更改look_up_field
不起作用,因为它仍然必须使用pk
来执行查找。
只需在url中更改kwrags键即可。
发布于 2017-06-22 08:26:35
因此,我深入研究了GenericAPIView
等类,发现它为此使用了一个字段lookup_url_kwarg
。
默认情况下,它是kwarg键,这使得None
密钥在url中为pk
。
我们只需要覆盖该字段,如下所示:
lookup_url_kwarg = 'foo_bar_id'
其中foo_bar_id
是url中使用的关键字。
https://stackoverflow.com/questions/44694082
复制