def path(self, instance): PATH_MAX_LENGTH = 8 path = [] counter = 1 candidate = instance candidates = Node.where_is_admin_or_superadmin(self.view.request.user) while candidate in candidates and counter < PATH_MAX_LENGTH: path.append(candidate) candidate = candidate.parentnode counter += 1 path.reverse() serializer = PathElementResource() return serializer.serialize_iter(path)
def get_queryset( self ): nodes = Node.where_is_admin_or_superadmin( self.request.user ).filter( parentnode__pk=self.kwargs['parentnode__pk'] ) return nodes
def get_queryset( self ): nodes = Node.where_is_admin_or_superadmin( self.request.user ) nodes = nodes.exclude( parentnode__in=nodes ) return nodes