我有带有 @action 装饰器的自定义函数,用于使用两种方法 GET 和 DELETE 进行路由。
如果代码在相同的功能中一切正常,并且我可以使用简单的以下方式运行不同的操作:
@action(methods=['GET', 'DELETE'], detail=False, url_path='current', url_name='profile-current',
permission_classes=[IsAuthenticated])
def get_current_profile(self, request: Request, **kwargs) -> Response:
if self.request.method == 'DELETE':
...
但是我想将代码分成两个仍然具有相同路线但方法不同的函数。
如果我将代码分成两个函数和相同的 url-path 和不同的方法,其中一种方法返回方法不可用错误。
我是否在这里遗漏了某些东西,或者无法以我认为应该工作的方式创建方法。
您可以尝试像这样拆分这两种方法
获取方法
@action(
methods=['GET'],
detail=False,
url_path='current',
url_name='profile-current',
permission_classes=[IsAuthenticated]
)
def get_current_profile(self, request: Request, **kwargs):
"""Get current profile"""
删除方法
@get_current_profile.mapping.delete
def delete_current_profile(self, request, **kwargs):
"""Delete current profile"""
链接在这里:文档
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句