Функция представления Django работает некорректно

Итак, основная цель моего проекта - позволить учителям и администраторам входить в систему и учитывать посещаемость учеников. Моя новая проблема заключается в том, что у меня есть функция просмотра, которая должна проверять, добавлен ли ученик в соответствующий класс, и если да, то исключать его из выпадающего меню и показывать учеников, которых нет в классе, но она не делает этого, вместо этого она показывает мне пустое выпадающее меню. У меня настроено так, что администратор нажимает на кнопку добавления ученика, затем он преобразует страницу .html в модальную, которая выводит список учеников для выбора. Когда я добавляю форму, отвечающую за сохранение ученика в классе в Django admin, она работает идеально, но я не могу заставить ее работать в пользовательском разделе Ui. Я новичок в Django и это мой первый проект, поэтому любая помощь будет очень признательна

Виды

#check to see if students already exist in class and display those who aint to be added
@login_required
def manage_class_student(request, classPK=None):
    if classPK is None:
        messages.warning(request,'Class ID is Unknown')
    else:
        context['classPK'] = classPK
        _class = Room.objects.get(id=classPK)
        # print(ClassStudent.objects.filter(classIns = _class))
        students = Student.objects.exclude(id__in=ClassStudent.objects.filter(classIns=_class).values_list('student').distinct()).all()
        context['students'] = students
        return render(request, 'manage_class_student.html', context)

#save the students to the respective class after being selected
@login_required
def save_class_student(request):
    form = SaveClassStudent()
    if request.method == 'POST':
        form = SaveClassStudent(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request, "Student has been added successfully.")
            redirect('class_detail')

        else:
            messages.error(request, 'Error Adding student in class')

шаблон с формой для отображения доступных студентов

<!-- Modal -->
<div class="modal fade" {% block modal-id %} id="addModal{{class.pk}}" {% endblock%} data-bs-backdrop="static"
    data-bs-keyboard="false" tabindex="-1" aria-labelledby="addModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <h6 class="modal-title" id="addModalLabel"> {% block modal-title%}<i class="fas fa-plus"></i> Add
                    Student To Class{% endblock%}</h6>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
            </div>
            <div class="container-fluid">
                <form {% block action %} action="{% url 'save-class-student' %}" {% endblock%} method="post">
                    {% csrf_token %}
                    <div class="modal-body">
                        <input type="hidden" name="classIns" value="{{ classPK }}">
                        <div class="form-group mb-3">
                            <label for="student" class="control-label">Student</label>
                            <select name="student" id="student" class="form-select rounded-0 select2" required>
                                <option disabled selected></option>
                                {% for student in students %}
                                <option value="{{ student.id }}">{{ student }}</option>
                                {% endfor %}
                            </select>
                        </div>

                        <div>
                            <button type="submit" class="btn btn-primary">Save</button>

                        </div>
                </form>
            </div>

        </div>
    </div>
</div>

Что вызывает модальное окно

 <div class="tools">
                    <button type="button" class="btn btn-secondary border rounded-0 bg-gradient btn-sm"
                        id='print_attendance_report'><i class="fa fa-print"></i> Print Attendance Report</button>
                    <a data-bs-toggle="modal" data-bs-target="#addModal{{class.pk}}"> <button type="button"
                            class="btn btn-primary rounded-0 bg-gradient btn-sm" id='add_new'><i class="fa fa-plus"></i>
                            Add Student</button></a>
                </div>

форма, сохраняющая студентов в классе

class SaveClassStudent(forms.ModelForm):
    classIns = forms.IntegerField()
    student = forms.IntegerField()


    class Meta:
        model = ClassStudent
        fields = ('classIns', 'student')

    def clean_classIns(self):
        cid = self.cleaned_data['classIns']
        try:
            classIns = Room.objects.get(id=cid)
            return classIns
        except:
            raise forms.ValidationError("Class ID is Invalid.")

    def clean_student(self):
        student_id = self.cleaned_data['student']
        _class = Room.objects.get(id=self.data.get('classIns'))
        student = Student.objects.get(id=student_id)
        try:
            cs = ClassStudent.objects.get(classIns=_class, student=student)
            if len(cs) > 0:
                raise forms.ValidationError(
                    f"Student already exists in the Class List.")
        except:
            return student
Вернуться на верх