如何在 can_create 上单独访问 Flask-Admin?

How to separate access Flask-Admin on can_create?

我想在 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 class 上用其他方法尝试过,但仍然无法正常工作。

所以..是否可以在该功能中给出条件..?

我遵循这个 solution 基于 @gitter 的建议,它在 can_create 功能中工作,感谢 @gitter。

但不幸的是,它在另一个条件下不起作用,例如 form_excluded_columns

.

编辑: 对于方法 (即:can_create 来自 BaseModelView Class 我关注这个solution

但是对于其他方法如form_excluded_columns,我使用 , and 也可以。