code: def register_nested(
          self, parent_prefix, prefix, viewset,
          base_name=None, parent_lookup_name=None,
          depth_level=1
      ):
          
          kwargs = {
              'trailing_slash': bool(self.trailing_slash)
          }
  
          if parent_lookup_name is not None:
              kwargs.update(lookup=parent_lookup_name)
  
          # Section for the depth of the route and add more routes
  
          if depth_level > 1:
              routers = filter(
                  lambda r: (r._depth_level == (depth_level - 1)) and
                  r._nested_prefix == parent_prefix,
                  self._nested_object_registry
              )
  
              try:
                  parent_router = next(routers)
              except StopIteration:
                  raise RuntimeError('parent registered resource not found')
  
          else:
              parent_router = self
  
          nested_router = NestedSimpleRouter(
              parent_router,
              parent_prefix,
              **kwargs
          )
  
          nested_router._nested_prefix = prefix
          nested_router._depth_level = depth_level
          nested_router.register(prefix, viewset, base_name)
          self._nested_object_registry.append(nested_router)
docs: Register a nested viewset wihtout worrying of instantiate a nested
          router for registry.