Не сохроняются данные в форме

Мне нужно сделать добавление работы списку детей. Задумка в том, чтобы добавлять каждому ученику фотографии, и одной кнопкой все сохранять. Все данные получаю, но что-то не то с сохранением. Не валидны данные изображения, но не понимаю почему. Думаю, что есть и другие не валидные данные. Подскажите какие и как правильно их передавать?

Какие данные я имею:

Initial data for student 1 : {'name_work': 'рациональные числа', 'writing_date': datetime.datetime(2024, 3, 15, 16, 18, 37, tzinfo=datetime.timezone.utc), 'student_type': 2, 'number_of_tasks': '10', 'student': 4, 'example': 1, 'teacher': 1, 'image_work': <InMemoryUploadedFile: только_ответы.jpg (image/jpeg)>}

Текст ошибки:

Errors for student 1 : <ul class="errorlist"><li>image_work<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
Initial data for student 1 : {'name_work': 'рациональные числа', 'writing_date': datetime.datetime(2024, 3, 15, 16, 18, 37, tzinfo=datetime.timezone.utc), 'student_type': 2, 'number_of_tasks': '10', 'student': 2, 'example': 1, 'teacher': 1, 'image_work': <InMemoryUploadedFile: пусто.jpg (image/jpeg)>}
Errors for student 1 : <ul class="errorlist"><li>image_work<ul class="errorlist"><li>This field is required.</li></ul></li></ul>

Мой views класс

class CreateStudentWorkView(View):

def post(self, request, type_work_id):
    try:
        type_work_obj = TypeStudentWork.objects.get(pk=type_work_id)
        students = User.objects.filter(student_class=type_work_obj.school_class)

        for student in students:
            image_file = request.FILES.get("image_work_" + str(student.id))
            if image_file:
                initial_data = {
                    'name_work': type_work_obj.name_work,
                    'writing_date': type_work_obj.writing_date,
                    'student_type': type_work_obj.id,
                    'number_of_tasks': '10',
                    'student': student.id,
                    'example': type_work_obj.example.id,
                    'teacher': request.user.id,
                    'image_work': image_file
                }
                print("Initial data for student", student.username, ":", initial_data)
                form = StudentWorkForm(initial_data)
                if form.is_valid():
                    form.save()
                else:
                    print("Errors for student", student.username, ":", form.errors)
    except Exception as e:
        print(e)
    return redirect('moderator')

Мой html страницы создания работы

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>All Students</title>
</head>
<body>
    <h1>All Students</h1>
    <form action="{% url 'create_work' type_work.id %}" method="post" enctype="multipart/form-data">
        {% csrf_token %}
        <table>
            <thead>
                <tr>
                    <th>Фамилия</th>
                    <th>Имя</th>
                    <th>Добавить работу</th>
                </tr>
            </thead>
            <tbody>
                {% if students %}
                    {% for student in students %}
                    <tr>
                        <td>{{ student.last_name }}</td>
                        <td>{{ student.first_name }}</td>
                        <td>
                            <input type="file" name="image_work_{{ student.id }}">
                            <input type="hidden" name="student_id_{{ student.id }}" value="{{ student.id }}">
                        </td>
                    </tr>
                    {% endfor %}
                {% else %}
                    <tr>
                        <td colspan="3">Нет учеников в данном классе</td>
                    </tr>
                {% endif %}
            </tbody>
        </table>
        <div class="button-container">
            <button type="submit" class="save-button">Сохранить работы</button>
        </div>
    </form>
</body>
</html>

Модель рабоботы

class StudentWork(models.Model):
name_work = models.CharField(max_length=55)
writing_date = models.DateTimeField()
student_type = models.ForeignKey(
    TypeStudentWork,
    related_name='type_works',
    on_delete=models.CASCADE,
    blank=True,
    null=True
)
number_of_tasks = models.CharField(max_length=5, default="5")
student = models.ForeignKey(
    User,
    related_name='student',
    on_delete=models.SET_NULL,
    null=True
)
example = models.ForeignKey(
    Example,
    on_delete=models.SET_NULL,
    null=True
)
image_work = models.ImageField(upload_to='image')
text_work = models.TextField(null=True, blank=True)
proven_work = models.TextField(null=True, blank=True)
assessment = models.CharField(max_length=10, null=True, blank=True)
teacher = models.ForeignKey(
    User,
    related_name='teacher',
    on_delete=models.SET_NULL,
    blank=True,
    null=True
)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
deleted_at = models.DateTimeField(blank=True, null=True)

Ответы (0 шт):