Adding a user to a group in django
Become part of the top 3% of the developers by applying to Toptal https://topt.al/25cXVn
--
Music by Eric Matyas
https://www.soundimage.org
Track title: Puzzle Game 3 Looping
--
Chapters
00:00 Question
00:25 Accepted answer (Score 337)
00:43 Answer 2 (Score 126)
01:00 Answer 3 (Score 8)
01:23 Thank you
--
Full question
https://stackoverflow.com/questions/6288...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #django
#avk47
--
Music by Eric Matyas
https://www.soundimage.org
Track title: Puzzle Game 3 Looping
--
Chapters
00:00 Question
00:25 Accepted answer (Score 337)
00:43 Answer 2 (Score 126)
01:00 Answer 3 (Score 8)
01:23 Thank you
--
Full question
https://stackoverflow.com/questions/6288...
--
Content licensed under CC BY-SA
https://meta.stackexchange.com/help/lice...
--
Tags
#python #django
#avk47
ACCEPTED ANSWER
Score 348
Find the group using Group model with the name of the group, then add the user to the user_set
from django.contrib.auth.models import Group
my_group = Group.objects.get(name='my_group_name')
my_group.user_set.add(your_user)
ANSWER 2
Score 137
Here's how to do this in modern versions of Django (tested in Django 1.7):
from django.contrib.auth.models import Group
group = Group.objects.get(name='groupname')
user.groups.add(group)
ANSWER 3
Score 11
coredumperror is right but I have found one thing I need to share that one
from django.contrib.auth.models import Group
# get_or_create return error due to
new_group = Group.objects.get_or_create(name = 'groupName')
print(type(new_group)) # return tuple
new_group = Group.objects.get_or_create(name = 'groupName')
user.groups.add(new_group) # new_group as tuple and it return error
# get() didn't return error due to
new_group = Group.objects.get(name = 'groupName')
print(type(new_group)) # return <class 'django.contrib.auth.models.Group'>
user = User.objects.get(username = 'username')
user.groups.add(new_group) # new_group as object and user is added
ANSWER 4
Score 4
You can assign multiple groups to a user using the set method:
from django.contrib.auth.models import Group
users = Group.objects.get(name="user")
managers = Group.objects.get(name="manager")
user.groups.set([users, managers])