Я добавил некоторые полномочия к пользователю через администраторский интерфейс.
От некоторой причины весь перманент функционирует сбой, например,
>>> user.get_all_permissions()
set([])
Но получая доступ к таблице непосредственно, работам:
>>> user.user_permissions.all()
(list of permissions as expected)
Что может заставить "get_all_permissions" (и все функции перманента как has_perm ()) перестать работать?
Спасибо
была такая же проблема. Я предполагаю, что в какой-то момент вы использовали самостоятельно созданный AUTHENTICATION_BACKEND? В большинстве примеров в сети (ВКЛЮЧАЯ ДОКУМЕНТАЦИЮ DJANGO 1.0!) не упоминается, что бэкенды также отвечают за обработку разрешений.
Однако, ничего страшного: в любом файле бэкенда, где находится ваш код, включите этот импорт:
from django.contrib.auth.backends import ModelBackend
Затем убедитесь, что написанный вами бэкенд расширяет ModelBackend, например:
class EmailBackend(ModelBackend):
Должно быть все в порядке.