gpt4 book ai didi

django - 迁移新用户模型时出错

转载 作者:行者123 更新时间:2023-12-04 17:08:13 24 4
gpt4 key购买 nike

刚刚在我的 models.py 中创建了一个 User 模型将用户保存在数据库中。该模型如下所示:

class User(AbstractBaseUser, PermissionsMixin):
username = models.CharField(_('username'), max_length=30, unique=True,
validators=[
validators.RegexValidator(re.compile('^[\w.@+-]+$'), _('Enter a valid username.'), _('invalid'))
])
first_name = models.CharField(_('first name'), max_length=30, blank=True, null=True)
last_name = models.CharField(_('last name'), max_length=30, blank=True, null=True)
email = models.EmailField(_('email address'), max_length=255)
is_staff = models.BooleanField(_('staff status'), default=False,)
is_active = models.BooleanField(_('active'), default=False,)
date_joined = models.DateTimeField(_('date joined'), default=timezone.now)

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

class Meta:
verbose_name = _('user')
verbose_name_plural = _('users')

def get_full_name(self):
full_name = '%s %s' % (self.first_name, self.last_name)
return full_name.strip()

def get_short_name(self):
return self.first_name

def email_user(self, subject, message, from_email=None):
send_mail(subject, message, from_email, [self.email])

我还在 settings.py 中添加了这段代码:
AUTH_USER_MODEL = "myapp.User"

但是,当我尝试进行迁移以应用更改时,会出现以下错误:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\core\management\__init__.py", line 353, in execute_from_command_line
utility.execute()
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\core\management\__init__.py", line 345, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\core\management\base.py", line 348, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\core\management\base.py", line 399, in execute
output = self.handle(*args, **options)
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\core\management\commands\makemigrations.py", line 105, in handle
loader.project_state(),
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\db\migrations\loader.py", line 338, in project_state
return self.graph.make_state(nodes=nodes, at_end=at_end, real_apps=list(self.unmigrated_apps))
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\db\migrations\graph.py", line 280, in make_state
project_state = self.nodes[node].mutate_state(project_state, preserve=False)
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\db\migrations\migration.py", line 88, in mutate_state
operation.state_forwards(self.app_label, new_state)
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\db\migrations\operations\models.py", line 158, in state_forwards
apps = state.apps
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\utils\functional.py", line 33, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\db\migrations\state.py", line 162, in apps
return StateApps(self.real_apps, self.models)
File "C:\Python\lib\site-packages\django-1.9.1-py3.5.egg\django\db\migrations\state.py", line 235, in __init__
raise ValueError(self._pending_models_error(pending_models))
ValueError: Unhandled pending operations for models:
myapp.user (referred to by fields: admin.LogEntry.user)

所以我正在寻找可能的解决方案或导致此错误的原因的信息,但无法弄清楚它为什么会发生。可能是以前的某些迁移有问题吗? (如果是这样,我不知道哪个也不知道为什么)。如果需要,我会添加更多信息,但我真的很感激有关此错误原因的任何线索。

最佳答案

custom user docs在您已经创建迁移后特别警告不要切换用户模型;有太多的依赖无法正常工作。您可能需要删除现有的数据库和迁移并从头开始。

关于django - 迁移新用户模型时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36496694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com