當使用的外殼,這讓我感到困惑(權限沒有反映更改):理解行爲保存
>>> user = User.objects.get(username='test')
>>> user.get_all_permissions()
set([])
>>> p = Permission.objects.get(codename="add_slide")
>>> user.user_permissions.add(p)
>>> user.save()
>>> user.get_all_permissions()
set([])
>>> user = User.objects.get(username='test')
>>> user.get_all_permissions()
set([u'slides.add_slide'])
爲什麼用戶對象不保存更新?
有沒有辦法保存和更新對象?
這樣解釋發生了什麼,但不是真的,爲什麼?或通過磁盤上更改更新內存中對象的最佳方式? – Doug 2010-07-16 13:17:00
您給出的例子是一種特殊情況,因爲'get_all_permissions()'方法是'User'模型特定的方法,恰好使用緩存。如果你使用更通用的Django模型方法/屬性,你會發現它們的行爲更直觀,並且會在你期望的時候更新。 – 2010-07-16 13:45:05