Обновление поля выбора при наступлении события в Django

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

models.py:

class Oficio(models.Model):

    class Estatus(models.TextChoices):
        NUEVO = 'NU', _('Nuevo')
        NO_REVISADO = 'NR', _('No Revisado')
        LEIDO = 'L', _('Leido')
        SEGUIMIENTO = 'S', _('Seguimiento')
        COMPLETADO = 'C', _('Completado')

    folio = models.CharField(primary_key=True, max_length=10, unique=True, null=False)
    usuario = ForeignKey('users.Usuarios', on_delete=models.PROTECT)
    fecha = models.DateTimeField(auto_now_add=True)
    asunto = models.TextField(null=False)
    estatus = models.CharField(max_length=2, choices=Estatus.choices, default=Estatus.NUEVO)
    documento = models.FileField(upload_to='static/pdf')
    dependencia = models.ForeignKey('Dependencia', on_delete=models.CASCADE, related_name='dependencia_origen')
    turnado = models.ForeignKey('Dependencia', on_delete=models.CASCADE, related_name='dependencia_destino')

    def __str__(self):
        return self.folio

При создании нового объекта этой модели значение по умолчанию поля estatus равно Nuevo.

В моем шаблоне этот объект отображается следующим образом:Object template

И я хочу обновить этот тег Nuevo синим цветом на другой (один из вариантов, определенных в models.py), когда пользователь нажимает кнопку рядом с ним, которая загружает файл поля documento.

template.html для этой кнопки:

<form method="POST" action="{% url 'oficios:status' oficio.folio %}">
   {% csrf_token %}
      <button type="submit" class="btn btn-primary btn-lg" title="Descargar">
          <a href="{{oficio.documento.url}}" download>
              <i class="fas fa-file-download"></i>
          </a>
      </button>
</form>

Пока я пытался создать функцию в views.py следующим образом:

def change_status(request, pk):

    oficio = Oficio.objects.get(folio=pk)
    form_status = forms.UpdateStatus(instance=oficio)
    context = {'form_status': form_status}
    if oficio.estatus == 'NU':
        if request.method == 'POST':
            oficio.estatus = 'L'
            form_status = forms.UpdateStatus(request.POST, instance=oficio)
            if form_status.is_valid():
                instance = form_status.save(commit=False)
                instance.usuario = request.user
                instance.save()
                return redirect('oficios:list')
    return render(request, "oficios_confirmacion.html", context)

forms.py

class UpdateStatus(forms.ModelForm):

    class Meta:
        model = models.Oficio
        fields = ['estatus']

Но эта функция перенаправляет меня в другой шаблон, в котором пользователь должен выбрать из выпадающего меню один из вариантов для этого поля, вот так:

enter image description here

Это работает хорошо, но я хочу оставаться в шаблоне первого изображения и изменять это поле автоматически при загрузке документа нажатием соответствующей кнопки. Есть идеи, как этого добиться? Заранее спасибо.

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