Как отделить доступ в методах от класса BaseModelView в Flask-Admin - PullRequest
1 голос
/ 03 апреля 2019

Я использую Flask-Admin для управления панелью управления, в моем приложении мало ролей, две из которых суперпользователь и клиент .

Теперь у меня есть Пользователь сборка таблицы с помощью Flask-SQLAlchemy , и теперь я хочу управлять таблицей по роли пользователя. Это означает, что суперпользователь может редактировать роли пользователей в форме Flask-Admin, а в другом клиент не может это сделать или форма не отображается.

Мне нравится этот скриншот: enter image description here есть форма редактирования по роли суперпользователь . Но сейчас я хочу, чтобы форма редактирования не отображалась, если у текущего пользователя есть роль client .

Итак, логически я хочу сделать что-то вроде этого:

class UserModelView(sqla.ModelView):
    if current_user.has_role('superuser'):
        form_excluded_columns = ('created_at', 'updated_at')
    else:
        form_excluded_columns = ('created_at', 'updated_at', 'roles')

1 Ответ

1 голос
/ 03 апреля 2019

Я следую совету @SergeyShubin, следуя его ответу здесь , и в этом случае очень похожи на мой случай, и он отлично работает.

Также @SergeyShubin ответ здесь тоже похоже на мой случай. Большое спасибо @ Сергей Шубин.

...