Comment ajouter un utilisateur à un groupe dans django par le nom du groupe?
Je peux le faire:
user.groups.add(1) # add by id
Comment pourrais-je faire quelque chose comme ça:
user.groups.add(name='groupname') # add by name
Comment ajouter un utilisateur à un groupe dans django par le nom du groupe?
Je peux le faire:
user.groups.add(1) # add by id
Comment pourrais-je faire quelque chose comme ça:
user.groups.add(name='groupname') # add by name
Réponses:
Recherchez le groupe à l'aide du modèle de groupe avec le nom du groupe, puis ajoutez l'utilisateur à 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)
user_set
dans Django doc? Je ne le trouve nulle part
<content_type>_set
quand related_name
n'est pas défini sur le champ.
Voici comment faire cela dans les versions modernes de Django (testé dans Django 1.7):
from django.contrib.auth.models import Group
group = Group.objects.get(name='groupname')
user.groups.add(group)
Group.objects.get_by_natural_key('groupname')
, mais cela ne le rend pas court-circuité: D