      description = None
  
      @property
      def allowed_methods(self):
          return [method.upper() for method in self.http_method_names if hasattr(self, method)]
  
      def http_method_not_allowed(self, request, *args, **kwargs):
          """Return an HTTP 405 error if an operation is called which does not have a handler method."""
          raise ErrorResponse(status.HTTP_405_METHOD_NOT_ALLOWED,
                                  {'detail': 'Method \'%s\' not allowed on this resource.' % self.method})
 
</s> remove     put = delete = http_method_not_allowed
 </s> add     put = delete = None </s> remove     def delete(self, request, auth, unique_id):
 </s> add     def delete(self, request, unique_id): </s> remove             return Resource(status.HTTP_404_NOT_FOUND)
 </s> add             return Response(status.HTTP_404_NOT_FOUND) </s> remove     post = put = delete = http_method_not_allowed </s> add 
        return [method.upper() for method in self.http_method_names if getattr(self, method, None)]
      description = None
  
      @property
      def allowed_methods(self):
        return [method.upper() for method in self.http_method_names if getattr(self, method, None)]
  
      def http_method_not_allowed(self, request, *args, **kwargs):
          """Return an HTTP 405 error if an operation is called which does not have a handler method."""
          raise ErrorResponse(status.HTTP_405_METHOD_NOT_ALLOWED,
                                  {'detail': 'Method \'%s\' not allowed on this resource.' % self.method})
keep keep keep keep replace keep keep keep keep keep
 Fix up tests and examples after refactoring 
djangorestframework/resource.py