Добавление пользователя в группу в django

Как добавить пользователя в группу в django по имени группы?

Я могу сделать это:

user.groups.add(1) # add by id

Как бы я сделал что-то вроде этого:

user.groups.add(name='groupname') # add by name

3 ответов


найдите группу, используя модель группы с именем группы, затем добавьте пользователя в 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)

вот как это сделать в современных версиях Django (протестировано в Django 1.7):

from django.contrib.auth.models import Group
group = Group.objects.get(name='groupname')
user.groups.add(group)

вот ответ на создание групп для пользователей в версии django 1.8.4

from django.contrib.auth.models import Group
group = Group.objects.get(name='groupname')
user.group.add(group)