如何避免DRF视图中的代码重复



AddUsersView(UpdateAPIView):permission_classes = [IsAuthenticated]

def patch(self, request: Request, *args, **kwargs):
if ...
return successful_response({'data': "users added"})
else:
raise MeetingRoomDoesNotExist

类SubtractUsersView (UpdateAPIView):permission_classes = [IsAuthenticated]

def patch(self, request: Request, *args, **kwargs):
if ...
return successful_response({'data': "users subtracted"})
else:
raise MeetingRoomDoesNotExist

似乎我的代码不是DRY。如何避免代码重复?

DRF视图与其他python类没有什么不同。这里的两个最佳选择基本上是:

  • 将重复的代码集成到你在两个补丁函数中调用的函数中,而不是重写它
  • 在一个类中重写patch()函数,并使你的视图从它继承

相关内容

  • 没有找到相关文章

最新更新