【问题标题】:Django user filteringDjango 用户过滤
【发布时间】:2012-07-07 18:42:01
【问题描述】:

我希望能够有效地找到所有具有特定权限的用户,然后在这些用户中找到所有具有特定标志的用户(我扩展了基本 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 中的所有用户。但在该列表中,我想要所有拥有特定权限的用户。

【问题讨论】:

    标签: django authentication


    【解决方案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

    【讨论】:

    • 不确定我是否误解了你在那里写的内容......但我认为这与我试图解决的目的不同?我更新了我的问题。
    【解决方案2】:

    你可以按照上面说的来做。但是通过链接过滤器语句,它也是可能的。我提到了另一个问题:How to get a list of all users with a specific permission group in Django。通过链接这两个过滤器语句,我可以获得具有权限的所有用户和具有特定organization_id 的所有用户。

    【讨论】:

      猜你喜欢
      • 2018-05-10
      • 2014-01-31
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 2014-09-18
      • 2011-05-08
      • 2012-03-23
      • 1970-01-01
      相关资源
      最近更新 更多