有没有一种简单的方法可以在 django 中获取用户的组名

2023-12-24

我尝试在以下代码的帮助下django.contrib.auth.User and django.contrib.auth.Group

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

但这失败了,我收到了以下信息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

谢谢你的帮助!


您可以使用以下命令获取用户的组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`
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有一种简单的方法可以在 django 中获取用户的组名 的相关文章

随机推荐