При выборе разных опций отображаются разные входы, но требуются все входы всех опций

Я работаю с Django и я сделал функцию, которая создает человека (сотрудник, студент или рабочий) и как вы можете видеть, я создал три различных формы на create_person, так что на шаблоне, когда вы выбираете опцию на school_role, чтобы выбрать, какой тип человека вы будете создавать, он показывает различные входы и select, это зависит от того, если вы нажмете на студент, академик или сотрудник. Это нормально, но моя проблема в том, что мне нужно заполнить все входы и выбрать все три варианта, чтобы иметь возможность отправить форму, а мне нужно, чтобы вы заполнили только один (сотрудник, академик или студент).

def create_person(request):
    if request.method == 'POST':
        form = PersonForm(request.POST)
        daysform = AvailableDayForm(request.POST)
        studentForm = StudentForm(request.POST)
        academicForm = AcademicForm(request.POST)
        employeeForm = EmployeeForm(request.POST)
        if form.is_valid() and daysform.is_valid():
            data = form.save()
            daysform.save(id=data.id)
            id = data.id
            if(data.school_role==1):
                if studentForm.is_valid():
                    studentForm.save(id = id)
                    messages.success(
                    request=request,
                    message='success'
                    )
                    return redirect('cases:list')
            elif(data.school_role == 2):
                if academicForm.is_valid():
                    academicForm.save(id = id)
                    messages.success(
                    request=request,
                    message='success'
                    )
                    return redirect('cases:list')
            else:
                if employeeForm.is_valid():
                    employeeForm.save(id = id)
                    messages.success(
                    request=request,
                    message='success'
                    )
                    return redirect('cases:list')

              
    else:
        form = PersonForm()
        daysform = AvailableDayForm()
        studentForm = StudentForm()
        academicForm = AcademicForm()
        employeeForm = EmployeeForm()
        context = {
            'form': form,
            'studentForm': studentForm,
            'academicForm': academicForm,
            'employeeForm': employeeForm,
            'daysform': daysform
        }

    return render(request, 'person/create_person.html', context)

Это шаблон create_person.html:

А это мой скрипт.

function yesnoCheck(that) {
    if (that.value == "1") {
        document.getElementById("ifStudent").style.display = "block";
    } else {
        document.getElementById("ifStudent").style.display = "none";
    }
    if (that.value == "2"){
        document.getElementById("ifAcademic").style.display = "block";
    } else  {
        document.getElementById("ifAcademic").style.display = "none";
    }
    if (that.value == "3"){
        document.getElementById("ifWorker").style.display = "block";
    }else{
        document.getElementById("ifWorker").style.display = "none";
    }
}
Вернуться на верх