如何在 Flask-Admin 中将方法中的访问与 BaseModelView class 分开
How to separate access in methods from BaseModelView class in Flask-Admin
我正在使用 Flask-Admin 来管理我的仪表板,我的应用程序中的角色很少,其中两个是 superuser和 客户端.
现在,我有 User table 由 Flask-SQLAlchemy 构建,现在我想管理 table 按用户角色。这意味着 superuser 可以在 Flask-Admin 表单中编辑用户角色,而在其他 client 中不能这样做或者表单不是显示。
喜欢这个截图:
有 superuser 角色的编辑表单。但是现在,如果当前用户具有 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')
我按照@SergeyShubin 的建议遵循他的回答,在那种情况下与我的情况非常相似,并且效果很好。
还有@SergeyShubin 的回答 也与我的情况相似。非常感谢@SergeyShubin。
我正在使用 Flask-Admin 来管理我的仪表板,我的应用程序中的角色很少,其中两个是 superuser和 客户端.
现在,我有 User table 由 Flask-SQLAlchemy 构建,现在我想管理 table 按用户角色。这意味着 superuser 可以在 Flask-Admin 表单中编辑用户角色,而在其他 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')
我按照@SergeyShubin 的建议遵循他的回答
还有@SergeyShubin 的回答