есть ли простой способ получить названия группы пользователя в django

Я попробовал следующий Код с помощью django.contrib.auth. Пользователь и django.contrib.auth. Группа

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

Но это перестало работать, и я получил следующую Ошибку:

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

Спасибо за любую справку!

38
задан sc28 14 January 2019 в 10:41
поделиться

1 ответ

Вы можете получить группы пользователя с помощью request.user.groups.all () , который вернет QuerySet . А затем вы можете превратить этот объект в список, если хотите.

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

или с недавним Django

l = request.user.groups.values_list('name',flat = True) # QuerySet Object
l_as_list = list(l)                                     # QuerySet to `list`
82
ответ дан 27 November 2019 в 03:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: