본문 바로가기
파이썬

파이썬 django에서 사용자의 그룹 이름을 얻는 간단한 방법이 있습니까?

by º기록 2020. 12. 19.
반응형

django.contrib.auth.User django.contrib.auth.Group 의 도움으로 다음 코드를 시도했습니다.

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

도움을 주셔서 감사합니다!

 

해결 방법

 

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`

 

참조 페이지 https://stackoverflow.com/questions/2245895

 

 

반응형

댓글