Изменение статуса "Ожидание" на "Отправлено" после загрузки файла в 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 прямо перед сохранением документа.
Я предполагаю, что несколько студентов будут получать одинаковые задания.