How to get a list of all users with a specific permission group in Django How to get a list of all users with a specific permission group in Django python python

How to get a list of all users with a specific permission group in Django


If you want to get list of users by permission, look at this variant:

from django.contrib.auth.models import User, Permissionfrom django.db.models import Qperm = Permission.objects.get(codename='blogger')  users = User.objects.filter(Q(groups__permissions=perm) | Q(user_permissions=perm)).distinct()


This would be the easiest

from django.contrib.auth import modelsgroup = models.Group.objects.get(name='blogger')users = group.user_set.all()


I think for group permissions, permissions are stored against groups, and then users have groups linked to them. So you can just resolve the user - groups relation.

e.g.

518$ python manage.py shell(InteractiveConsole)>>> from django.contrib.auth.models import User, Group>>> User.objects.filter(groups__name='monkeys')[<User: cms>, <User: dewey>]