Django: проблемы, связанные с созданием пользовательского пользователя - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь создать пользовательского пользователя в django с AbstractUser class.

кодом models.py, где я определил свой custom_user.

from django.db import models
from django.contrib.auth.models import AbstractUser

class MyUser(AbstractUser):
    country=models.CharField(max_length=20)

Я хочу указать только страну в качестве дополнительного поля для пользователей. Поэтому я определил только страну, поданную.

Я уже упоминал свою пользовательскую модель в файле settings.py.

AUTH_USER_MODEL = 'new_user.MyUser'

когда я запускаю команду миграции, она запускается успешно, но когда я запускаю миграцию, это выдает мне ошибку. Вот так.

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\Futuresoft\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\Futuresoft\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Futuresoft\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\Futuresoft\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "C:\Users\Futuresoft\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\base.py", line 83, in
wrapped
    res = handle_func(*args, **kwargs)
  File "C:\Users\Futuresoft\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\commands\migrate.py",
line 90, in handle
    executor.loader.check_consistent_history(connection)
  File "C:\Users\Futuresoft\AppData\Local\Programs\Python\Python37\lib\site-packages\django\db\migrations\loader.py", line 299, in check_consistent_history
    connection.alias,
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency new_user.0001_initial on database 'default'.

Я понятия не имею, что это такое. Может кто-нибудь помочь с этим.

ПРИМЕЧАНИЕ: Я пытаюсь создать пользовательского пользователя после создания своего суперпользователя, и я уже перенес все миграции, которые происходят, когда мы впервые создаем наш новый проект.

1 Ответ

2 голосов
/ 23 апреля 2020

Проблема в том, что в базе данных уже есть миграции и данные.

Поэтому после миграции пользовательской модели по умолчанию вы изменили AUTH_USER_MODEL на пользовательскую модель. Когда вы выполняете миграцию, то выдает данную ошибку.

Поскольку вы все еще в разработке, и это не производственная система, самый простой способ обойти это - очистить базу данных и снова запустить миграцию.

Также см. документы для этого случая. Также есть топик c о том, как создать пользовательского пользователя mid-project .

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