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()
函数,并使你的视图从它继承