Beispiel #1
0
    def filter_queryset(self, request, queryset=None, query=None, fields=None, **kwargs):
        """ Возвращает отфильтрованный QuerySet для всех экземпляров модели. """
        if queryset is None:
            queryset = self.queryset(**kwargs)

        search_fields = self.get_search_fields()
        if fields and search_fields:
            fields = [ x for x in fields if x in search_fields ]
        else:
            fields = search_fields
        query = query or self.get_search_query(request, **kwargs)
        queryset = filterQueryset(queryset, fields, query)
        return queryset
Beispiel #2
0
 def get_nested_objects(self):
     """ Возвращаем все вложенные объекты """
     return filterQueryset(self._default_manager,
             ['^parent_path'],
             self.get_object_path().rstrip(os.path.sep) \
             + os.path.sep)
Beispiel #3
0
 def get_nested_objects(self, recursive=True):
     """ Возвращаем все вложенные объекты """
     if recursive and self.path:
         return filterQueryset(self._default_manager, ['^path'], self.path)
     else:
         return self.only_nested_objects_set.all()