¿Existe una forma sencilla de obtener los nombres de grupo de un usuario en django?

Intenté seguir el Código con la ayuda de django.contrib.auth.User y django.contrib.auth.Group

for g in request.user.groups: l.append(g.name) 

Pero eso falló y recibí el siguiente error :

 TypeError at / 'ManyRelatedManager' object is not iterable Request Method: GET Request URL: http://localhost:8000/ Exception Type: TypeError Exception Value: 'ManyRelatedManager' object is not iterable Exception Location: C:\p4\projects\...\users.py in permission, line 55 

¡Gracias por cualquier ayuda!

 for g in request.user.groups.all(): l.append(g.name) 

o con django reciente

 l = request.user.groups.values_list('name',flat=True) 

Este es mejor

 if user.groups.filter(name='groupname').exists(): # Action if existing else: # Action if not existing 
 user.groups.all()[0].name == "groupname" 

Probablemente sea un poco demasiado tarde (me uní a stackoverflow), pero para cualquiera que busque en Google a principios de 2018, puede usar el hecho de que el objeto django Groups (por defecto) viene con los siguientes campos (no exhaustivos, solo los importantes) ):

ID, nombre, permisos, usuario (puede tener muchos usuarios; ManyToMany)

Tenga en cuenta que un grupo puede estar formado por muchos usuarios, y un usuario puede ser miembro de muchos grupos. Así que simplemente puede filtrar el modelo de Grupos de django para la sesión de usuario actual (asegúrese de haber agregado los grupos relevantes y asignado al usuario a su grupo / s):

 ''' This assumes you have set up django auth properly to manage user logins ''' # import Group models from django.contrib.auth.models import Group # filter the Group model for current logged in user instance query_set = Group.objects.filter(user = request.user) # print to console for debug/checking for g in query_set: # this should print all group names for the user print(g.name) # or id or whatever Group field that you want to display