2016-07-25 2 views
0

Я заменил в своем проекте приложение django.contrib.auth с настраиваемым приложением и сервером аутентификации, но все же использую некоторые функции/классы из исходного приложения (например, _user_has_perm, _user_has_module_perms и т. Д.).Отключить миграцию для приложения django.contrib.auth

Проблема заключается в том, если я не ставлю django.contrib.auth в INSTALLED_APPS я получаю это предупреждение: RemovedInDjango19Warning: Model class django.contrib.auth.models.User doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.

Но если я положил его в INSTALLED_APPS, на следующей мигрируют создаются таблицы, которые я замененные с моим пользовательские модели.

Итак, как я могу отключить миграцию для django.contrib.auth?

+0

Вы хотите предотвратить создание таблицы пользователя или всех таблиц? – knbk

+0

Я хочу предотвратить создание таблиц auth_group, auth_permission, auth_group_permissions и django_content_type. таблица auth_user не создана .. – Alex

ответ

0

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

+0

Я сделал это. Мое пользовательское приложение называется 'cauth'. В settings.py у меня есть эта строка: 'AUTH_USER_MODEL = 'cauth.User''. Это мой импорт 'из django.contrib.auth импорта get_user_model auth.get_backends из django.contrib.auth.models импорта (_user_has_perm, _user_has_module_perms, _user_get_all_permissions) из django.contrib.auth импорта логаута в django_logout из Джанго. contrib.auth.decorators import login_required ' – Alex