@raise_if_unsaved
    def is_descendant_of(self, other, include_self=False):
        opts = self._mptt_meta

        if include_self and other.pk == self.pk:
            return True

        if getattr(self, opts.tree_id_attr) != getattr(other, opts.tree_id_attr):
            return False
        else:
            left = getattr(self, opts.left_attr)
            right = getattr(self, opts.right_attr)

            return (
                left > getattr(other, opts.left_attr) and
                right < getattr(other, opts.right_attr))
The request's queue name, if generated via the Task Queue API.
dataset/ETHPy150Open django-mptt/django-mptt/mptt/models.py/MPTTModel.is_descendant_of--crossover with--dataset/ETHPy150Open AppScale/appscale/AppServer/google/appengine/api/logservice/logservice.py/RequestLog.task_queue_name