Не могу задать “column_exclude_list” в __init__, т.к. там current_user еще неопределен.
При определении “column_exclude_list” в методе “is_accessible” или “index” фильтрация колонок уже не срабатывает.
Решение: вызвать после определения “column_exclude_list” метод self._refresh_cache()
class OrderView(ModelView): create_template = 'order_create.html' def __init__(self, *args, **kwargs): super(OrderView, self).__init__(*args, **kwargs) def is_accessible(self): if current_user.name != "admin": self.column_exclude_list = ('user','links') else: self.column_exclude_list = ('links',) self._refresh_cache() return current_user.is_authenticated() @expose('/') def index(self): return super(OrderView, self).index_view()