我正在研究Django rest框架,它为ModelViewSet中的detail_route
指定函数原型的集合格式。一些背景: -
该函数接收request object
和lookup_field
,它可以是特定表的主键。
@detail_route(methods=["get"], url_path="get-some-data")
def get_some_data(self, request, id=None):
return Response(get_some_data(id))
现在你可以看到,我在这里不需要请求对象,所以我应该保持这样吗?或者将其改为
@detail_route(methods=["get"], url_path="get-some-data")
def get_some_data(self, _, id=None):
return Response(get_some_data(id))
此处我将request
更改为_
,表示我不需要此值。
应遵循哪种方法?我应该将其保留为请求,还是将其更改为下划线?
答案 0 :(得分:3)
对于方法参数,我总是使用正确的变量名称,以便将来我是否可以使用它或我的同行,如果我将此代码提供给其他人,他们不必费力去理解它是什么。
现在你可能会想要忽略它,但因为它是一个方法参数,所以最好有一个它代表的名字。
或者,我们假设您要添加一个文档字符串,并在其中定义哪个参数是什么。如果有人有这样的话你会很感激:
@param request: HTTP request object
而不是:
@param _: HTTP request object
答案 1 :(得分:1)
如果你让参数存在,那么给它一个有意义的名字总是做得好,即使你不使用它。
另外,_在python中有特殊用途,请在以下URL中查看。
What is the purpose of the single underscore "_" variable in Python?
答案 2 :(得分:0)
我会留下一个描述性的名字。将其更改为下划线或任何其他非描述性名称是没有用的。