gpt4 book ai didi

python - Django 外键到 AbstractBaseUser

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:22 25 4
gpt4 key购买 nike

我正在尝试设置一个应用程序来处理有关注册用户的评论。因此,在我的 Review 模型中,我希望为我的 User 模型添加一个外键。

我正在使用如下所示的自定义用户配置文件:

#In /profiles/models.py
class MyUser(AbstractBaseUser):
email = models.EmailField(
verbose_name='email address',
max_length=255,
unique=True,
)
company = models.CharField(default="", max_length=200)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)

objects = MyUserManager()

USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['company']

我已将其包含在 settings.py AUTH_USER_MODEL = "profiles.MyUser"中。它在注册、创建用户等方面工作得很好。所以我知道它的工作原理。

在我的评论模型中,我写了以下内容:

class Review(models.Model):
company = models.ForeignKey(settings.AUTH_USER_MODEL)
reviewer = models.ForeignKey(Reviewer)
rating = models.IntegerField(default=0)
review = models.TextField()
pub_date = models.DateTimeField('date published')

除了settings.AUTH_USER_MODEL,我还尝试编写profiles.MyUser、'profiles.MyUser'和MyUser。

我可以成功使用python manage.py makemigrations Reviews命令。但是,当我执行 python manage.py migrate 时,无论我使用上面的哪个版本,都会出现错误。

我得到的错误如下:

ValueError: Lookup failed for model referenced by field reviews.Review.company: profiles.MyUser

最佳答案

nejc92 评论是正确的。在第一次设置 AUTH_USER_MODEL 之前,我已经迁移了数据库。

我删除了整个数据库并为所有应用程序创建了新的迁移,并从头开始再次迁移了所有内容。然后就成功了。

对我来说听起来像是一个错误(?)。

关于python - Django 外键到 AbstractBaseUser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28691771/

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