I'm relatively new(er) to django but very excited to learn such a versatile framework. I'm working on a project where I will have 2 user types, account 1 and account 2. Account 2 will have the ability to "add a user" to their account. Think of account 2 as a company who can add users to their company. So far I've extended the generic User model and have created a class for each of the account types but I'm not sure if I'm doing it correctly. Ultimately I will want to create a login/register form for each of the account types - similar to how ziprecruiter functions so some advice on how to approach that would be awesome too if possible. class User(AbstractBaseUser, PermissionsMixin): email = models.EmailField(_('email address'), unique=True) is_staff = models.BooleanField(default=False) is_active = models.BooleanField(default=True) date_joined = models.DateTimeField(default=timezone.now) USERNAME_FIELD = 'email' REQUIRED_FIELDS = [] objects = UserManager() def __str__(self): return self.email class account1(User): profile = models.ForeignKey(User, on_delete=models.CASCADE, related_name='+', null=True) # account 2 fields here first_name = models.TextField(max_length=30, blank=True) last_name = models.TextField(max_length=30, blank=True) location = models.TextField(max_length=30, blank=True) class Meta: db_table = 'account1_user' class account2(User): profile = models.ForeignKey(User, on_delete=models.CASCADE, related_name='+') # account2 user fields here class Meta: db_table = 'account2_user' Am I doing this correctly? What's the best approach to creating a login/registration form for each type of account? What's the best approach to creating a model that will allow for a user of a user type (if that makes sense)? Continue reading...