Создание нескольких классов профиля в Django
Вопрос
Я начинаю с Джанго, и я хотел бы продлить базовые django.contrib.auth.models.User
класс для создания моего собственного профиля сайта. Здесь описывается, как это сделать, получил это.
Насколько я понял, вы можете указать только один класс как AUTH_PROFILE_MODULE
в твоей settings.py
.
Теперь, если я создам класс расширения моего класса профиля, как это
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
somefield = models.CharField()
class UserProfileExtended(UserProfile):
extrafield = models.CharField()
Тогда я не могу сделать оба класса профиля, верно?
(Я знаю, в этом случае вы просто добавите extrafield
на суперкласс и бросить UserProfileExtended
полностью. Только представьте, что у вас так много полей в UserProfileExtended
что вы действительно хотите их разделить)
Спасибо за вашу помощь!
Решение
Там может быть только один класс профиля. Я думаю, я не понимаю сценарий, в котором вы хотели бы разделить их. В любом случае,
AUTH_PROFILE_MODULE = "UserProfileExtended"
следует правильно обрабатывать наследование для простого примера, который вы даете.