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