class User(UserMixin, db.Model):
# ...
def __init__(self, **kwargs):
super(User, self).__init__(**kwargs)
if self.role is None:
if self.email == current_app.config['FLASKY_ADMIN']:
self.role = Role.query.filter_by(permissions=0xff).first()
if self.role is None:
self.role = Role.query.filter_by(default=True).first()
在 models.py 里还需要进行一个判断和设置。
这是狗书里的原始代码,你也可以仔细看看狗书的第九章 —— 《用户角色》