Я пытаюсь создать пользовательскую модель, чтобы у меня было три разных типа пользователей для моего сайта.
Я использую django 2.2.1, в течение которого я в течение последних нескольких месяцев проходил очень ускоренный краш-курс, поэтому по общему признанию, я еще не очень хорош в этом, и большая часть моего кода является результатом следуя другим примерам на онлайн-курсах или stackoverflow.
С учетом сказанного, следуя одному из этих курсов (в частности, кодированию для взятия предпринимателем пользовательских моделей), я попытался сделать это, унаследовав класс AbstractUser и добавив флаги и внешний ключ в другую модель, потому что типы пользователя должна иметь дополнительную информацию о них.
# From HSH.models.py
class Usuario(AbstractUser):
es_admin = models.BooleanField(default=False)
es_premium = models.BooleanField(default=False)
email = models.EmailField(unique=True)
id_perfil = models.ForeignKey(Perfil, on_delete=models.CASCADE)
USERNAME_FIELD = email
# From settings.py
AUTH_USER_MODEL = 'HSH.Usuario'
Однако, когда я пытаюсь выполнить миграцию, я получаю следующее сообщение об ошибке:
SystemCheckError: System check identified some issues:
ERRORS:
HSH.Usuario.email: (models.E006) The field 'email' clashes with the field 'email' from model 'HSH.usuario'.
Эта ошибка продолжает возникать, даже если я изменяю имя поля.
SystemCheckError: System check identified some issues:
ERRORS:
HSH.Usuario.mail: (models.E006) The field 'mail' clashes with the field 'mail' from model 'HSH.usuario'.
Что именно здесь происходит? Я полностью потерян в этой точке. Любая помощь будет очень признательна.