code: def descendants(self, node):
          
          # We need to read the _cte_node_* attributes, so ensure they exist.
          self._ensure_parameters()
          # This is implemented in the CTE WHERE logic, so we pass a reference to
          # the offset CTENode to the custom QuerySet, which will process it.
          # Because the compiler will include the node in question in the offset,
          # we must exclude it here.
          return CTEQuerySet(self.model, using=self._db, offset=node).exclude(pk=node.pk)
docs: Returns a :class:`QuerySet` with all descendants for a given
              :class:`CTENode` `node`.
  
              :param node: the :class:`CTENode` whose descendants are required.
  
              :returns: A :class:`QuerySet` with all descendants of the given
                  `node`.