0
在下面的Django manage.py
shell会话中,为什么我没有看到我添加到我的用户对象的权限,直到我为该用户执行新的查询?添加权限后,为什么需要重新查询Django用户才能看到添加的权限?
In [16]: john = User.objects.create_user(username='john')
In [17]: john
Out[17]: <User: john>
In [18]: john.get_all_permissions()
Out[18]: set([])
In [19]: john.user_permissions.add(Permission.objects.get(codename='add_user'))
In [20]: john.get_all_permissions()
Out[20]: set([]) <== I expected to see the new permission here. Why not?
In [21]: john = User.objects.get(username='john')
In [22]: john.get_all_permissions()
Out[22]: set([u'auth.add_user'])
优秀的详细原因和解决方案 - 感谢安德鲁! – 2013-03-16 03:14:37