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 puis-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 puis-je faire quelque chose comme ça :
user.groups.add(name='groupname') # add by name
Merci pour cela. Il semble idiot que certaines des choses les plus fondamentales soient soit absentes, soit difficiles à trouver dans la documentation de Django.
docs.djangoproject.com/fr/dev/intro/tutorial01 Vous trouverez des exemples similaires dans la section "Jouer avec l'API".
Le tutoriel est assez utile, ce que je voulais dire c'est que je m'attendais à voir dans une section de la docs sous auth pour la création programmatique de groupes. au lieu de cela, tout ce qu'il y a est un faible paragraphe : docs.djangoproject.com/fr/1.3/topics/auth/#groups Je pense qu'il est utile de garder à l'esprit que les modèles authentiques sont des modèles ordinaires et que la référence au modèle standard s'applique.
Coredumperror a raison, mais j'ai trouvé une chose que je dois partager, celle-là.
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
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Cette solution est-elle sensible à la version ? Quand j'ai essayé avec django 1.8, j'ai obtenu "unexpected keyword : name" (mot-clé inattendu : nom).