docs: def valid_targets(self):
          """Return a :class:`QuerySet` of valid targets for moving a page
          into the tree.
  
          :param perms: the level of permission of the concerned user.
          """
          exclude_list = [self.pk]
          for p in self.get_descendants():
              exclude_list.append(p.id)
          return Page.objects.exclude(id__in=exclude_list)