Изменение статуса "Ожидание" на "Отправлено" после загрузки файла в django

Я создаю систему управления заданиями, в которой студенты загружают свои задания, и статус заданий ожидает загрузки. Я хочу изменить статус, когда задание сохраняется в бэкенде, и изменить статус на представленный.

код шаблона

 <tr>
                            <td>{{assignment.assignment_date}}</td>
                            <td>{{assignment.assignment_creator}}</td>
                            <td>{{assignment.assignment_title}} </td>
                            <td>
                                <form enctype="multipart/form-data" action="{% url 'assignment' %}" method="POST">
                                    {% csrf_token %}
                                    <input required type="file" name="inputFile" id="" placeholder="upload">
                                    <button>Upload</button>
                                    {{s.assignment_status}}
                                </form>
                            </td>
                            <td> <span class="bg-success text-white">Pending </span></td>
                        </tr>

views.py

  print('file uploaded')
    if request.method == "POST":
        print('file uploaded Post')

        uploaded_file = request.FILES['inputFile']
        print(uploaded_file)
        student = Student.objects.get(student_username=request.user)
        std_instance = student
        document = Submissions.objects.create(submitted_by=std_instance,
                                              submission_file=uploaded_file)
        document.save()
        print('saved')

models.py

class Assignment(models.Model):
    assignment_creator = models.ForeignKey(Teacher, on_delete=models.CASCADE)
    assignment_title = models.CharField(max_length=30)
    assignment_details = models.TextField()
    assignment_date = models.DateField(auto_now_add=True)
    assignment_status = models.BooleanField(default=False)

class Submissions(models.Model):
    submitted_by = models.ForeignKey(Student, on_delete=models.CASCADE)
    submission_file = models.FileField(null=False)
    submitted_to = models.ForeignKey(
        Teacher, on_delete=models.CASCADE, null=True)

Я бы использовал assignment_title в качестве внешнего ключа и assignment_status в модели представления. Затем вы просто изменили assignment_status на true прямо перед сохранением документа.

Я предполагаю, что несколько студентов будут получать одинаковые задания.

Вернуться на верх