【发布时间】:2021-01-22 09:55:43
【问题描述】:
我有两个不同的应用程序,它们具有从 AbstractionBaseUser 继承的单独模型,如下所示
# in doctor/models.py
...
class Patient(AbstractBaseUser):
email = models.EmailField(blank=True, unique=True)
phone_number = models.IntegerField(blank=False, unique=True)
USERNAME_FIELD = 'phone_number'
REQUIRED_FIELD = ['phone_number', 'email']
...
# in Patient/models.py
...
class Patient(AbstractBaseUser):
email = models.EmailField(blank=True, unique=True)
phone_number = models.IntegerField(blank=False, unique=True)
USERNAME_FIELD = 'phone_number'
REQUIRED_FIELD = ['phone_number', 'email']
...
两种模型都有不同的字段
# in settings.py
AUTH_USER_MODEL = [
'doctor.Doctor',
'patient.Patient'
]
我尝试这样做,但在进行迁移时它告诉我它必须是单个模型
AssertionError: ForeignKey(['doctor.Doctor', 'patient.Patient']) is invalid. First parameter to ForeignKey must be either a model, a model name, or the string 'self'
我阅读了文档,但找不到任何帮助
我该如何解决这个问题以及如何拥有多个 AUTH_USER_MODEL
【问题讨论】:
-
你没有。你有 一个
User模型。您可以使用ForeignKey为用户模型制作多个额外的模型。
标签: python django django-models django-auth-models