Если у вас есть django.contrib.auth
в вашем INSTALLED_APPS, django автоматически создаст разрешения на добавление, изменение, удаление и просмотр каждой модели в вашей системе (или любой, которую вы добавите позже).Они хранятся в auth_permission.
В django doc , вот что мы можем прочитать в разделе Группы : django.contrib.auth.models.Group
модели являются общим способомкатегоризация пользователей, чтобы вы могли применять к ним разрешения или другие метки.Пользователь может принадлежать к любому количеству групп. Пользователь в группе автоматически получает разрешения, предоставленные этой группе .Например, если у группы «Редакторы сайтов» есть разрешение can_edit_home_page, у любого пользователя в этой группе будет такое разрешение.
У меня есть группа без разрешения вообще (назовите ееНАДА) и я назначил эту группу конкретному пользователю (назовем его Пьер).Пьер все еще может подключаться и создавать, обновлять, удалять или просматривать что-либо в моем веб-интерфейсе.
Как я могу заставить его работать?В Интернете мало или совсем нет документов для нативного разрешения Django.
- Я читал эту замечательную публикацию django-Разрешение-Apps-сравнение .
- IЯ знаю, что могу установить django-guardian, django-role-permissions или django-rules ...
- Я знаю, что мы можем управлять доступом через middleware или декоратор Но так как django IS создает эти таблицы дляus (user, groups, permissions и group_permissions)
Я думал, что реализовать CRUD-доступ для любого класса модели чрезвычайно просто!
Неправильно?
Должен ли япропустить что-то?
Примечание: Работа с Python3.6 и Django 2.1.3