@Antigo_ptz

Django как отключить автоматическое создание permissions?

Вопрос таков:
Как мне отключить автоматическое создание прав (permissions) в таблице auth_permission при выполнении команды migrate? В каждой модели я сам указываю свои права и отключаю права по-умолчанию в классе Meta модели:
class RhFactor(models.Model):
    name = models.TextField()
    code = models.TextField()

    class Meta:
        db_table = 'rh_factors'
        managed = True
        permissions = (
            ("add_rh", "Добавление резус-фактора"),
            ("change_rh", "Изменение резус-фактора"),
            ("delete_rh", "Удаление резус-фактора"),
        )
        default_permissions = ()

Но, автоматически создаются права на все стандартные таблицы, например django_content_type, django_migrations и т.п. Как мне запретить создание этих прав?
  • Вопрос задан
  • 334 просмотра
Пригласить эксперта
Ответы на вопрос 1
Вместо 'django.contrib.auth' включить в `INSTALLED_APPS` собственный AppConfig для auth пакета

https://github.com/django/django/blob/master/djang...
https://docs.djangoproject.com/en/1.10/ref/applica...

INSTALLED_APPS = [
    ...
    'myapp.apps.AuthConfig'
    ...
]

# myapp/apps.py

from django.apps import AppConfig
from django.core import checks
from django.contrib.auth.checks import check_models_permissions, check_user_model

class AuthConfig(AppConfig):
    name = 'django.contrib.auth'
    verbose_name = _("Authentication and Authorization")

    def ready(self):
        checks.register(check_user_model, checks.Tags.models)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы