我正在尝试访问Django中的用户组,但不断获取
auth.Group.None
结果。
在django shell中,我将首先创建一个组,然后是用户并将用户添加到该组。在此之后,我尝试打印用户组,如下所示:
from django.contrib.auth.models import User, Group
Artists = Group.objects.create(name="Artists")
Artists.save()
Rihanna = User.objects.create_user(username="Rihanna", password="newpassword")
Rihanna.save()
Artists.user_set.add(Rihanna)
# Save both of them again just to double check
Rihanna.save()
Artists.save()
# Now try to access Rihanna's groups through her attributes:
print Rihanna.groups, Rihanna.groups.name
,结果是
>>> auth.Group.None None
我想要发生的是打印群组名称。
我知道我可以通过filter和get命令查询组的成员,但我想直接通过用户属性/外键访问组。知道我做错了吗?
答案 0 :(得分:0)
您已将用户添加到组对象中的组,但您的用户对象没有此更新状态。
尝试这样的访问组:
print Rihanna.groups.all()
或在用户模型中添加组:
Rihanna.groups.add(Artists)