2024-06-16 14:11:45 发布
网友
众所周知,flaskadmin允许具有相同角色的用户拥有相同的权限。不过,在我的应用程序中,我只想限制创建查询的用户进行查看和编辑。在
例如,有许多具有相同角色的用户称为“developers”,他/她创建代码评审并等待批准。在
下面的图片显示开发人员Gina可以在列表中看到开发人员Bill的项目(这是不需要的)。我想实现的是只有吉娜和评审人员(Wesker和Steve这里)可以在列表中查看这个项目。在
我把代码here ,如果不合适,我会删除链接。提前谢谢。在
您应该创建另一个用户角色来实现您的目标。它将帮助您节省时间,并且您可以轻松地为特定的个人或组自定义视图。在
请看一下这个link
重写ModelView时,可以筛选结果以显示记录的用户自己的结果:
def get_query(self): return self.session.query(self.model).filter(self.model.user==current_user) def get_count_query(self): return self.session.query(func.count('*')).filter(self.model.user==current_user)
您可以在此处找到更多信息: Flask-Admin default filters
根据您提供的信息,解决方案可能如下所示
重写/扩展收集Project记录的逻辑,以便只有属于当前用户的记录。下面是一个要演示的示例:
Project
伪sql
SELECT team, name, project_name, version, ... FROM projects where name = current_user.name
{/strong>允许对记录进行修改以使记录被重写
您应该创建另一个用户角色来实现您的目标。它将帮助您节省时间,并且您可以轻松地为特定的个人或组自定义视图。在
请看一下这个link
重写ModelView时,可以筛选结果以显示记录的用户自己的结果:
您可以在此处找到更多信息: Flask-Admin default filters
根据您提供的信息,解决方案可能如下所示
重写/扩展收集
Project
记录的逻辑,以便只有属于当前用户的记录。下面是一个要演示的示例:伪sql
SELECT team, name, project_name, version, ... FROM projects where name = current_user.name
{/strong>允许对记录进行修改以使记录被重写
相关问题 更多 >
编程相关推荐