У меня есть приложение app_name, которое имеет объект профиля, который связан с объектом User через поле OneToOne. Теперь при входе я перенаправляю пользователя на страницу профиля редактирования на сайте администратора, используя url, используя свой идентификатор объекта профиля. Я предоставил, как и ожидалось, доступ к is_staff и разрешение редактировать профили.Блокировка URL-адресов в админ-сайте django для пользователей пользователей
Теперь я не хочу, чтобы он не обращался к другим объектам профиля. На данный момент у меня есть два пути, которые я могу представить так: 1. Сделайте специальное разрешение, которое предоставляет доступ к редактированию только для его профиля, который входит в систему. 2. Блокирование URL-адресов, которые не включают идентификатор объекта профиля.
Суперпользователь должен иметь возможность доступа, как обычно, по умолчанию.
Я понятия не имею, как я могу выполнить один из способов. Любые другие возможные способы приветствуются. Пожалуйста помоги!
Сначала один не работает для меня. Это вряд ли имеет значение. Второй метод дает утверждение TypeError: «has_change_permission() принимает не более 2 аргументов (3 данных)» –
Простите, пропустил 'self' в определении метода. Но первый должен работать, 404 будет поднят, когда любой пользователь, который не является суперпользователем, хочет просмотреть профиль другого пользователя. Второй, хотя и может управлять разрешением на изменение, все пользователи могут просматривать список изменений. – JimmyYe