Обновление форм с несколькими флажками с помощью Django

На моем сайте django я пытаюсь создать страницу, на которой есть несколько форм (в частности, 3: первая - просто чекбокс, как и вторая. Третья требует ввода двух текстовых полей). Я уже справился с наличием нескольких форм, и у меня нет проблем, когда пользователь выполняет первое задание. Проблема возникает при обновлении ответов, которые пользователь дал в первый раз: при добавлении новых экземпляров текстовых полей третьей формы проблем нет, но если я выбрал один флажок в первых двух формах и хочу изменить его, сняв флажок, то кажется, что django не сохраняет новые значения. Есть идеи, почему это происходит?

Вот взгляд связанный:

def new_4e2(request, pk, var=None):
    
    if Specifiche.objects.filter(ID_rich = pk).exists():
        specs = Specifiche.objects.filter(ID_rich = pk)
        choicesp =[]
        lista =[]
        for spec in specs:
            choicesp+=[(spec.id, str(spec.rif))]
            lista+=[spec.id]
    
    att = MAIN.objects.get(id=pk)
    unform = FormUn(instance=att)
    data = {'ID_rich': pk}
    form = UnicitaForm(initial=data)
    form.fields['rifext'].choices = choicesp
   
    

    if Unicita.objects.filter(rifext__in = lista).exists():
        uns=Unicita.objects.filter(rifext__in = lista)
        context={
            'att': att,
            'uns': uns,
            'var':var,
            'specs': specs
        }   
    else:
        context = {
        'att': att,
        'var':var,
        'specs': specs,
        }  
   
    form = UnicitaForm(initial = data)
    form.fields['rifext'].choices = choicesp
    similiform = SimiliForm(instance=att)
    if request.method=='POST':
        if 'Aggiungi' in request.POST:
            form = UnicitaForm(request.POST, initial=data)
            form.fields['rifext'].choices = choicesp
            if form.is_valid():
                form.save()
                return redirect(f'/new_4e2/{pk}/{var}//')

        if 'Simili' in request.POST:
            similiform = SimiliForm(request.POST, instance=att)
            if similiform.is_valid():
                similiform.save()
                return redirect(f'/new_4e2/{pk}/{var}//')

        if 'Unicita' in request.POST:
            unform = FormUn(request.POST, instance=att)
            if unform.is_valid():
                unform.save()
                return redirect(f'/new_4e2/{pk}/{var}//')

    context = context | {'form': form, 'unform':unform, 'similiform': similiform}
    return render(request, 'new_4e2.html', context)

Две формы, для которых у меня возникли эти проблемы, это: 'unform' и 'similiform'

А вот мой template.html

<form method="POST">
    {% csrf_token %} 4.1 | {{unform}} 
    <input type="submit" name="Unicita">
  </form> 

{% if not att.Unicita %}
<div style="position:relative; left:50 px; height: 10 px; width:500 px;"> 

  <form method="POST">
    {% csrf_token %} {{similiform}} 
    <input type="submit" name="Simili">
  </form>

<form action ="" method="POST">
    {% csrf_token %}
    <h4>Insert Unicita</h4>
    {{form}}

    <input type="submit" name="Aggiungi">
</form>

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