Django - Наследовать разрешения в Mixins - PullRequest
0 голосов
/ 19 апреля 2019

У меня две модели. Я хочу наследовать разрешения от одной модели к другой. Итак, вот мой псевдоджанго-код:

class BaseMixin:
    class Meta:
        abstract = True
        permissions = (
            ("can_change_something", "Can change something"),
        )


class Article(BaseMixin):
    # some fields
    class Meta:
        permissions = (
            ("can_change_something_on_articles", "Can change something on articles...")
        )

Моя проблема: когда я захожу в админ-панель для групп, эти разрешения не отображаются. Что мне делать?

1 Ответ

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

для наследования Meta, измените class Meta: на class Meta(BaseMixin.Meta):

Примечание: это работает, только если класс модели, от которого вы наследуете, равен abstract = True

вместо использованияpermissions в вашей абстрактной модели используйте default_permissions - обязательно добавьте исходное разрешение по умолчанию: 'add', 'change', 'delete', 'view'

https://docs.djangoproject.com/en/2.2/ref/models/options/#default-permissions`

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