Django REST Framework 使用 pk
在使用时具有查找字段
RetrieveApiView
必须在 url kwargs
中定义。
这使得 url 看起来像:
url(r'^(/foobar/(?P<pk>[\d]+)/$', FooBarFetch.as_view(), name="foo_bar")
但我想将 url 中的 pk
替换为更具描述性的内容,例如 foo_bar_id
。
更改 look_up_field
不起作用,因为它仍然必须使用 pk
来执行查找。
只需更改 url 中的 kwrags 键。
最佳答案
所以我深入研究了类(class) GenericAPIView
等等,发现它为此目的使用了一个字段 lookup_url_kwarg
。
默认情况下,它是 None
这使得 kwarg 键为 pk
在网址中。
我们只需要像这样覆盖字段:
lookup_url_kwarg = 'foo_bar_id'
其中 foo_bar_id
是 url 中使用的键。
关于python - 如何更改 Django REST Framework 中 RetrieveAPIView 中 lookup kwargs 字段的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44694082/