我正在使用 Flask-Admin 管理我的仪表板,我的应用中角色很少,其中两个角色是超级用户和客户端。
现在,我已经由 Flask-SQLAlchemy 构建了 User 表,现在我想按用户角色管理该表。这意味着超级用户可以在Flask-Admin表单中编辑用户角色,而在其他客户端中则不能执行该角色,或者不显示该表单。
喜欢此屏幕截图: 有 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')