Я хочу точно такое же поведение, как и django.contrib.auth.User
, но мне нужно расширить модель с помощью некоторых пользовательских настроек и полей профиля.Extend Django User model
Я знаю, что в конечном итоге может сделать две новые модели, которые могут быть
class Profile(models.Model):
user = OneToOneField(User)
age = SmallPositiveIntegerField()
и
class Preference(models.Model):
user = OneToOneField(User)
background_color = CharField(max_length=6)
Я не знаю, если это умно, чтобы разделить эти вещи.
Но я хочу, чтобы восстановить пользовательские настройки на каждой странице, и если я использую этот подход, расширяя User
модели с OneToOneField
стоит другого SQL-запрос для каждого времени я получаю user.preference.background_color
.
Я думаю, что это может быть излишним, чтобы заменить модель User
(или что), и что я могу сделать?
Могут ли быть прокси-модели?
https://docs.djangoproject.com/en/1.7/topics/auth/customizing/#a-full-example – coldmind