【发布时间】:2017-10-06 00:36:43
【问题描述】:
我使用了以下课程,允许用户在注册后编辑自己的个人资料,效果很好。我使用get_query 和get_count_query 实现了这一点。
但是,如果当前用户是 administrator,我如何自定义它以让他/她查看所有用户的个人资料,而不仅仅是他/她自己的个人资料?提前致谢。
from flask_admin.contrib.sqla.view import ModelView, func
class User(db.Model, UserMixin):
id = db.Column(db.Integer, primary_key=True)
first_name = db.Column(db.String(255))
last_name = db.Column(db.String(255))
email = db.Column(db.String(255), unique=True)
password = db.Column(db.String(255))
def __str__(self):
return self.email
class UserView(ModelView):
"""
Restrict only the current user can see his/her own profile
"""
def get_query(self):
return self.session.query(self.model).filter(self.model.id==current_user.id)
def get_count_query(self):
return self.session.query(func.count('*')).filter(self.model.id==current_user.id)
【问题讨论】:
标签: python flask flask-admin flask-security