Несколько типов пользователей Django в Django 1.9

Я хочу создать веб-приложение, в котором у меня будет два разных типа пользователей: сотрудники и работодатели. У них будут в основном не общие поля. Как реализовать раздельную регистрацию обоих. В настоящее время я унаследовал от модели пользователя.

модели.py

class Category(models.Model):

cname=models.CharField(max_length=250)

def __str__(self):
    return self.cname


class Workplace(User):
 address=models.TextField(max_length=250)
 logo=models.ImageField(upload_to=upload_location,null=True,blank=True)
 wcategory=models.ForeignKey(Category,on_delete=models.CASCADE)



class Employee(User):
 employee_id=models.CharField(max_length=250)
 eworkplace=models.ForeignKey(Workplace,on_delete=models.CASCADE)

person Amar Prakash    schedule 07.04.2017    source источник


Ответы (1)


В django вы можете сделать так, чтобы они оба могли аутентифицироваться или регистрироваться, установив OneToOneField на User в моделях WorkPlace и Employee. Если вы установили этого пользователя как AUTH_USER_MODEL = <yourapp.User> в настройках, вы сможете зарегистрироваться с моделями, которые установили это поле.

person Njenga Saruni    schedule 07.04.2017
comment
Но у нас не может быть сразу две модели одновременно в AUTH_USER_MODEL - person Amar Prakash; 07.04.2017
comment
Истинный. Установите это значение на AUTH_USER_MODEL = <yourapp.User>, затем в других моделях, которые необходимо зарегистрировать, добавьте: user = models.OneToOneField(settings.AUTH_USER_MODEL, related_name='user_account') - person Njenga Saruni; 07.04.2017