Благодаря моему приложении requeriments мне нужна иерархия классов пользователей, как:Расширение Джанго пользователя с подклассами
class CommonUser(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
photo = models.ImageField(upload_to="profileImages",blank=True,null=True)
#HERE: Common properties for every user
class Meta:
abstract = True
class Installer(CommonUser):
#HERE: Specific properties for Installer Companies
class Administration(CommonUser):
#HERE: Specific properties for Administration
class Client(CommonUser):
#HERE: Specific properties for Clients
Ну, в view.py мне нужно, чтобы получить изображение профиля для пользователя. Я получаю пользователя по запросу, поэтому у меня есть объекты models.User, и я не знаю, к чему класс принадлежит. Я не в состоянии сделать:
request.user.commonuser.photo
, потому что объект пользователя оленья кожа имеет никакого отношения OnetoOne с commonuser но с монтажником/администрирования/клиента ...
Любая идея? Благодаря!
Один из подходов может быть создание поля для CommonUser как is_administration, is_client, is_installer со значением по умолчанию Ложный и установить их верно, когда вы создаете объект этот тип. –
Возможно, вы хотите думать об этом как о профиле, а не о пользователе. –