I want to create a model for teachers and he will has a user to login to the system. I implemented this by one-to-one relation between Teacher model and User model, but I can't get my head around making a form for Teacher model and in the same time I want to create user for him/her, please note I'm using CreateView generic view.
class Teacher(models.Model):
GENDER_CHOICES = (
(MALE, _('Male')),
(FEMALE, _('Female')),
)
gender = models.CharField(max_length=1, verbose_name=_('Gender'),
choices=GENDER_CHOICES)
civil_id = models.CharField(max_length=12, verbose_name=_('Civil ID'))
phone_number = models.CharField(max_length=15,
verbose_name=_('Phone Number'))
job_title = models.CharField(max_length=15, verbose_name=_('Title'))
user = models.OneToOneField(to=User, related_name='teacher_profile')
def enable(self):
"""
Enable teacher profile
:return:
"""
self.user.is_active = True
self.user.save()
def disable(self):
"""
Disable teacher profile
:return:
"""
self.user.is_active = False
self.user.save()