【发布时间】:2022-10-19 13:03:54
【问题描述】:
我已经搜索了很多与我的问题相关的内容,但从未找到我需要的内容
我正在尝试创建一个简单的 Django 博客,该博客具有自定义用户模型继承名为 user 的应用程序中的核心身份验证 AbstractUser 类
用户模型.py
class User(AbstractUser):
email = models.EmailField('email_address', unique=True)
USERNAME_FIELD = 'email'
另一个帐户应用程序已与已验证用户的登录名和个人资料分开
account.models.py
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, related_name='profile_user', on_delete=models.CASCADE)
上面的 settings.AUTH_USER_MODEL 是已经从用户应用 user.models import User 导入并且已经在 settings.py 中识别的同一个用户
当我开始进行迁移和迁移时,我没有发现任何问题,但是当我去我的 PostgreSQL pgAdmin 查看数据库表时,我找到了除 account_profile 表之外的所有表,尽管帐户中有另一个类,但我找到了它的表但没有配置文件,因为它从来没有创建
此外,当我尝试创建超级用户时,我得到了相同的符号:
psycopg2.errors.UndefinedTable:关系“account_profile”不存在
LINE 1: INSERT INTO "account_profile" ("user_id", "city_id", "phone...
我应该将 Profile 类放在 user.models.py 中的 account.models.py 中还是我应该怎么做,请帮忙 很抱歉很长时间
【问题讨论】:
-
我已将 Profile 类放入 user.models.py 以查看是否会有任何更改,但即使在用户应用程序中同时使用 User 和 Profile 类,也会出现同样的问题