В моем приложении форма регистрации выглядит следующим образом:
Forms.py
class EmployeeSignUpForm(UserCreationForm):
company = forms.ModelChoiceField(queryset=Company.objects.all(), required=True, label='Select Company')
c_code = forms.IntegerField(required=True)
class Meta(UserCreationForm.Meta):
model = User
@transaction.atomic
def save (self):
user = super().save(commit=False)
user.is_employee = True
user.save()
c_company = self.cleaned_data['company'][0]
employee = Employee.objects.create(user=user, company=c_company)
return user
Как я могу сравнить c_code с кодом компании в моих моделях. py и сохранить форму только тогда, когда они совпадают, иначе выдает ошибку?
Models.py
class Company(models.Model):
company_name = models.CharField(max_length=255, default=0)
company_email = models.EmailField(max_length=255, default=0)
company_phone = models.CharField(max_length=255, default=0)
company_code = models.IntegerField(default=0)
def __str__ (self):
return self.company_name