Разрешение модели Django против разрешений группы - PullRequest
1 голос
/ 25 апреля 2019

Моя модель django выглядит следующим образом:

class testModel(models.Model):
    ...
    def has_add_permission(self, request):
        return False
    ...

Разрешение моей группы выглядит следующим образом:

employee: testApp | testModel | can add testModel

Пользователь по-прежнему может добавлять объекты:

enter image description here

Похоже, что функция has_add_permission игнорируется, поскольку кнопка исчезает только при удалении разрешения из группы;

разрешение группы: можно добавитьtestModel и has_add_permission возвращает true

  • Результат: может добавить тестовую модель

разрешение группы: может добавить testModel, а has_add_permission возвращает false

  • Результат:Может добавить тестовую модель

групповое разрешение: невозможно добавить testModel, а has_add_permission возвращает true

  • Результат: невозможно добавить тестовую модель

групповое разрешение:невозможно добавить testModel и has_add_permission возвращает false

  • Результат: невозможно добавить тестовую модель

Это ожидаемое поведение?

1 Ответ

1 голос
/ 25 апреля 2019

Если вы имеете в виду эту часть документов, вы должны знать, что там говорится о методах ModelAdmin, а не о модели напрямую.

class MyModelAdmin(admin.ModelAdmin):
    ...

    def has_add_permission(self, request):
        return False

Iне думайте, что он должен работать, определяя эти методы непосредственно в моделях, вы должны будете определить их в классе администратора этой модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...