Как разделить доступ Flask-Admin на can_create? - PullRequest
0 голосов
/ 02 апреля 2019

Я хочу создать условную особенность для методов Flask-Admin.

Но не совсем понятно, как распределить роли между пользователями, скажем, в функции can_create .

Вот фрагмент моего обзора модели:

class UserModelView(sqla.ModelView):

    if current_user.has_role == 'superuser':
        can_create = True
    elif current_user.has_role == 'client':
        can_create = False

Но я получаю несколько ошибок, и я также пробовал разные способы, например:

class UserModelView(sqla.ModelView):
    def is_visible(self):
        if current_user.has_role == 'superuser':
            can_create = True
        elif current_user.has_role == 'client':
            can_create = False

иЯ также пробовал это с другими методами в классе BaseModelView, но все еще не работает так, как я хочу.

Итак ... возможно ли дать условное в этой функции ..?

1 Ответ

0 голосов
/ 02 апреля 2019

Я следую этому решению , основываясь на совете @gitter, и он работает в функции can_create , спасибо @ gitter.

Но, к сожалению, он не будет работать вдругое условное выражение, например form_excluded_columns

.

EDIT : для методов (то есть: can_create ) BaseModelView Класс I, следующий за этим решением

Но для других методов, таких как form_excluded_columns , я использую таким образом и таким образом также может работать.

...