我希望能够有效地找到具有特定权限的所有用户,然后在这些用户中查找具有特定标志的所有用户(我扩展了基础User
模型并创建了我自己的用户,其中包含标志)。我想知道最简单/有效的方法是什么?我正在阅读以下(以及其他网站):
How can I get all objects a user has specific permissions to in django guardian?
但他们似乎没有帮助我的情况。如果有错过的文章,请告诉我,谢谢!
[编辑]
我阅读了以下页面:
http://digitaldreamer.net/blog/2010/5/10/get-all-users-group-django/
基本上我希望得到所有具有特定权限且具有特定标志的用户。现在我可以执行:User.objects.filter(organization_id = id)
根据我的代码获取特定organization
内的所有用户。但是在该列表中,我希望所有拥有特定权限的用户。
答案 0 :(得分:1)
我问了一个与django-guardian有关的问题,经过大量研究后自己回答了这个问题。我相信你应该能够在这里找到答案:Django Groups and Permissions. Extending Groups to have a FK?
<强>更新强>
你可以这样做:
user_list = []
for user in User.Objects.filter(organization_id=id):
if user.has_perm('PERM NAME'):
user_list.append(user)
有关详细信息,请参阅此链接:http://packages.python.org/django-guardian/userguide/check.html
答案 1 :(得分:0)
你可以按照上面提到的那样做。但是通过链接过滤语句,它也是可能的。我提到了另一个问题:How to get a list of all users with a specific permission group in Django。通过链接两个过滤器语句,我可以获得所有具有权限的用户以及具有特定organization_id
的所有用户。