【发布时间】:2019-01-26 12:54:05
【问题描述】:
我使用 Flask-Admin 和 Flask-Security 为我的 Python 应用程序实现管理面板。以下是User 和Role 的模型:
class Role(db.Model, RoleMixin):
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String(80), unique=True)
description = db.Column(db.String(255))
def __str__(self):
return self.name
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(255), unique=True, index=True)
password = db.Column(db.String(255))
roles = db.relationship('Role', secondary=roles_users,
backref=db.backref('users', lazy='dynamic'))
def __str__(self):
return self.username
我为用户创建了一个sqla.ModelView,仅适用于具有“admin”和“superadmin”角色的用户,因此此类用户可以使用此视图创建新用户。如何让只有角色“superadmin”的用户才能创建角色“superadmin”和“admin”的用户?换句话说,我想指定哪些变体可供具有不同角色的用户使用:https://imgur.com/a/GdhUS2Y。
【问题讨论】:
标签: python flask flask-sqlalchemy roles flask-admin