0

我正在尝试使用 Cookiecutter 帮助我使用 Heroku 和 Amazon S3 部署 Web 应用程序。

这是我在没有 Cookiecutter 的情况下在本地开发的应用程序,因此我将文件复制粘贴到新项目中并逐步调试。

原始应用程序使用内置的 Django 用户模型,所以我想切换到 Cookiecutter 附带的抽象用户模型。我开始为这个项目创建一个新的数据库,从头开始。

然后我认为它就像替换一样User简单AUTH_USER_MODEL

模型.py

from config.settings.base import AUTH_USER_MODEL

class Category(models.Model):
    name = models.CharField(max_length=30)
    description = models.CharField(max_length=140,blank=True,null=True)
    date_created = models.DateField(default=timezone.now)
    date_updated = models.DateField(auto_now=True)
    created_by = models.ForeignKey(AUTH_USER_MODEL, related_name="categories")

    def __str__(self):
        return self.name

运行时出现此错误manage.py migrate

accounts.User.user_ptr: (fields.E301) Field defines a relation with the model 'auth.User', which has been swapped out.
    HINT: Update the relation to point at 'settings.AUTH_USER_MODEL'

在 settings.py

AUTH_USER_MODEL = 'users.User'

我在哪里错过了什么?

4

1 回答 1

0

您的错误消息似乎表明问题来自另一个名为accounts.User的模型,但它不包含在您提供的代码段中。错误显示应用​​程序中的模型,accounts但设置AUTH_USER_MODEL指向应用程序中的模型users。这是2个不同的型号吗?您是否将users应用重命名为accounts但忘记更新设置?

于 2018-02-22T15:24:10.390 回答