Я пишу собственный модуль авторизации, который хочу использовать всвоих проектах. Сейчас занимаюсь кастомизацией профиля и решил попробовать одну идею, но она не работает и я хочу знать почему. Я хочу унаследовать модель пользователя от внешнего класса, чтобы у него появились дополнительные поля.
def get_profile():
class DefaultProfile:
pass
try:
profile_class = settings.DJAUTH['profile_model']
if profile_class:
return profile_class
return DefaultProfile
except KeyError:
return DefaultProfile
profile_class = get_profile()
class User(AbstractBaseUser, PermissionsMixin, profile_class):
...
В settings я планировал прописать класс, от которого должен наследоваться пользователь.
class CustomProfile:
custom_field = models.TextField()
custom_field2 = models.TextField()
Такая схема не работает, даже не смотря на то, что при обращении как к классу, так и к его экземпляру, наследуемые поля у него есть, но почему-то они не создаются при миграции.
В чем проблема? Я не понимаю каких-то глобальных основ?