Когда использовать пользовательскую модель пользователя в Django 1.5 - программирование
Подтвердить что ты не робот

Когда использовать пользовательскую модель пользователя в Django 1.5

У меня вопрос о пользовательской модели в Django 1.5

Итак, сейчас пользовательская модель по умолчанию выглядит очень хорошо для меня, мне просто нужно добавить несколько других переменных, таких как пол, местоположение и день рождения, чтобы пользователи могли заполнить эти переменные после того, как они успешно зарегистрировались и активировали свою учетную запись.

Итак, каков наилучший способ реализации этого сценария?

Нужно ли создавать новое приложение с именем Profile и наследовать AbstractBaseUser? и добавьте мою пользовательскую переменную в models.py? Какой хороший пример для меня?

заблаговременно

4b9b3361

Ответ 1

Вы хотите расширить свою модель пользователя до AbstractUser и добавить дополнительные поля. AbstractUser наследует все стандартные поля профиля пользователя, тогда как AbstractBaseUser запускает вас с нуля без каких-либо из этих полей.

Трудно определить лучшие практики, близкие к выпуску, но кажется, что, если вам не нужно резко переопределить модель User, тогда вы должны использовать AbstractUser, где это возможно.

Вот документы для расширения модели пользователя с помощью AbstractUser

Ваш models.py будет выглядеть примерно так:

class MyUser(AbstractUser):
    gender = models.DateField()
    location = models.CharField()
    birthday = models.CharField()

MyUser будет иметь стандартные поля электронной почты, пароль, имя пользователя и т.д., которые поставляются с моделью пользователя, и три дополнительных поля выше.

Затем вам нужно добавить AUTH_USER_MODEL в свой settings.py:

AUTH_USER_MODEL = 'myapp.MyUser'