Как из существующей модели сделать базового пользователя

В models.py прописана бд с сущностью Account, как из этой сущности сделать базового пользователя для входа в аккаунт.

class Account(models.Model):
    email = models.EmailField()
    FML = models.TextField()
    login = models.TextField()
    phone = models.IntegerField()
 
    def __str__(self):
        return self.login

Так же на эту сущность ссылается другая:

class Investor(models.Model):
    id_Account = models.ForeignKey(Account, on_delete = models.CASCADE)
    id_ViewClient = models.ForeignKey(ViewClient, on_delete= models.PROTECT)
    name = models.TextField()
 
    def __str__(self):
        return self.name

Пробовал через setting писать что ээто базовый пользователь, но не получилось


Ответы (1 шт):

Автор решения: Amentes

Для того, чтобы ваша модель была базовой моделью пользователя желательно (не уверен, что обязательно), чтобы эта модель наследовалась от models.AbstractUser, а так же её нужно зарегистрировать в settings.py.


Модель AbstractUser по стандарту имеет следующие поля:

  • username
  • first_name
  • last_name
  • email
  • is_staff
  • is_active
  • date_joined
  • password
  • last_login
  • is_superuser
  • groups
  • user_permissions

А для того чтобы зарегистрировать модель нужно в файле settings.py в конце написать:

AUTH_USER_MODEL = 'приложение_с_моделью.название_модели'

LOGIN_URL = 'ссылка_на_страницу_авторизации' #'/user/login' например

Может конечно для этого есть другие способы, но я использую этот.

→ Ссылка