Flask-admin如何删除用于编辑和删除记录的操作

时间:2019-01-26 10:48:04

标签: python flask flask-sqlalchemy flask-login flask-admin

我使用 Flask 并使用 Flask-admin 来管理学费支付应用程序。这个应用程式中有三个角色,分别是超级用户学校管理员父母,他们想见自己的孩子学费。

我知道如何为超级用户学校管理员(即超级用户)设置角色可以创建学校管理员,并且学校管理员可以添加和编辑或删除学生数据。

到目前为止,这是我的学校管理员模型视图的代码:

class SchoolAdminModelView(sqla.ModelView):
    def is_accessible(self):
        if not current_user.is_active or not current_user.is_authenticated:
            return False
        if current_user.has_role('schooladmin'):
            return True
        return False
    def _handle_view(self, name, **kwargs):
        if not self.is_accessible():
            if current_user.is_authenticated:
                abort(403)
            else:
                return redirect(url_for('security.login', next=request.url))

但是对于父级,我希望父级帐户只能查看或读取数据,而无权对其进行修改。

就像下面的这张图片: enter image description here 这是学校管理员视图,现在是我要删除编辑和删除图标或功能的父母帐户。

那么,怎么做..?

1 个答案:

答案 0 :(得分:2)

根据文档https://flask-admin.readthedocs.io/en/latest/api/mod_model/#flask.ext.admin.model.BaseModelView.can_create 您可以向模型添加属性,例如编辑,删除,创建。只需在需要时将其绑定到特定角色即可。