Django User Model one-to-one with other model and Forms

19 views
Skip to first unread message

Emad Mokhtar

unread,
Dec 7, 2015, 9:19:58 AM12/7/15
to Django users

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.

models.py

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()
Reply all
Reply to author
Forward
0 new messages