0

Я пытаюсь расширить модель пользователя django, наследуя AbstractBaseUser, чтобы я мог управлять процессом аутентификации проекта.Миграция не удалась при расширении пользовательской модели Django

Вот как выглядит моя модель.

class AccountManager(BaseUserManager): 
    ... create_user 
    ... create_superuser 


class Account(AbstractBaseUser): 
    email = models.EmailField(unique=True) 
    username = models.CharField(max_length=40, unique=True) 

    objects = AccountManager() 

    USERNAME_FIELD = 'email' 
    REQUIRED_FIELDS = ['username'] 

А вот мои настройки INSTALLED_APPS

INSTALLED_APPS = [ 
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'debug_toolbar', 
    'rest_framework', 
    'compressor', 
    'authentication' 
] 

AUTH_USER_MODEL = 'authentication.Account' 

Проблема здесь я замечаю процесс миграции, Джанго является пропусканием auth.0001_initial и перейти непосредственно создавая admin.0001_initial делая мои миграции на провал с

django.db.utils.IntegrityError: (1215, u'Cannot add foreign key constraint')

Как я могу исправить это, пожалуйста, помогите?

ответ

1

Я был в состоянии решить мою проблему, с помощью этого простого шага:

  1. бега python manage.py makemigrations authentication - потому что при использовании AUTH_USER_MODEL он заменит миграцию из auth_user таблицы из django.contrib.auth изменения процесса миграции. Таким образом, если мы не сможем предоставить файл миграции для authentication, то миграция приложения, без сомнения, не удастся.
  2. пробег python manage.py migrate.

Binggo!

Смежные вопросы