docs: def get_ancestors(self, include_self=False, depth=None):
          """Return all the ancestors of this object."""
          if self.is_root_node():
              if not include_self:
                  return self._toplevel().objects.none()
              else:
                  # Filter on pk for efficiency.
                  return self._toplevel().objects.filter(pk=self.pk)
  
          params = {"%s__child" % self._closure_parentref():self.pk}
          if depth is not None:
              params["%s__depth__lte" % self._closure_parentref()] = depth
          ancestors = self._toplevel().objects.filter(**params)
          if not include_self:
              ancestors = ancestors.exclude(pk=self.pk)
          return ancestors.order_by("%s__depth" % self._closure_parentref())