Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class StudentModel(models.Model):
- user = models.OneToOneField(User, unique=True)
- birth_date = models.DateField()
- contact_number = models.IntegerField()
- referral = models.CharField(max_length=100, choices=referral_choices)
- from django import forms
- from opus_login.models import StudentModel, EmployerModel
- class StudentForm(forms.ModelForm):
- class Meta:
- model = StudentModel
- fields = ['username', 'first_name']
- django.core.exceptions.FieldError: Unknown field(s) (username, first_name) specified for StudentModel
- from django import forms
- from opus_login.models import StudentModel, EmployerModel
- class StudentForm(forms.ModelForm):
- username = forms.CharField()
- first_name = forms.CharField()
- class Meta:
- model = StudentModel
- fields = ['__all__']
- def save(self, **kwargs):
- student = super().save(commit=False)
- user = User.objects.create(username=self.cleaned_data['username'], first_name=self.cleaned_data['first_name'])
- user.set_password(self.cleaned_data['password']) #if there is a password field
- student.user = user
- student.save(commit=True)
- return student
- class UserForm(forms.ModelForm):
- password = forms.CharField(label='Password',widget=forms.PasswordInput)
- password2 = forms.CharField(label='Repeat password',widget=forms.PasswordInput)
- class Meta:
- model = User
- fields = ('username', 'first_name')
- def clean_password2(self):
- .......
- return password2
- class StudentForm(forms.ModelForm):
- class Meta:
- model = StudentModel
- fields = ['birthdate', 'contact_number']
- def register(request):
- if request.method == 'POST':
- user_form = UserForm(request.POST)
- student_form = StudentForm(request.POST)
- if user_form.is_valid() and student_form.is_valid():
- user_form.save()
- student_form.save()
- <form action="." method="post">
- {{ user_form.as_p }}
- {{ student_form.as_p }}
- {% csrf_token %}
- <p><input type="submit" value="Register"></p>
- </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement