Фильтрация ввода select в наборе форм, чтобы данные не выбирались в новой форме

Здравствуйте, у меня есть человек, который хорошо разбирается в фильтрации наборов форм, можете ли вы мне помочь? У меня есть набор форм, где есть select, я хотел бы выбрать поле в случае, если я добавлю другую форму, select будет иметь все поля, кроме того, которое выбрано первой формой. чтобы у каждой формы был свободный select, но он не мог повторяться с тем же значением.

просмотров

from django.forms import formset_factory
from .forms import GruppiForm


def crea_gruppi(request):
    gruppiFormSet = formset_factory(GruppiForm, extra = 1)
    
    gruppi_formset = gruppiFormSet(prefix='gruppi')
    context = {'gruppi_formset': gruppi_formset}
    return render(request, 'crea_gruppi.html', context)

form

class GruppiForm(forms.ModelForm):

    giorni_settimana = forms.MultipleChoiceField(
        choices = models.DatiGruppi.giorni_settimana_scelta,
        widget = forms.SelectMultiple()
    )

    class Meta:
        model = models.DatiGruppi
        exclude = ['gruppi_scheda']

html

{% block content %}
<section class="mt-5">
    <div class="container">
        <div class="d-flex align-items-center justify-content-between">
            <h2 class="m-0 text-light">crea gruppi</h2>
        </div>
        <hr class="bg-light">

        <form method="post" autocomplete="off"> 
            {% csrf_token %}
            {{ gruppi_formset.management_form }}
            <div class="raccoglitore-gruppi">
                
                {% for gruppo in gruppi_formset %}
                    <div class="gruppo mb-3" style="border: 2px solid red; padding: 5px;">
                        <div style="color: #fff;">
                            {{ gruppo.dati_gruppo.label_tag }}
                            {{ gruppo.dati_gruppo|add_class:'form-control mt-2'|append_attr:"placeholder: Gruppo" }}
                        </div>
                    </div>
                {% endfor %}


            </div>

            <div class="mt-3 text-end">
                <a href="javascript:void(0)" class="btn btn-warning" id="addgrup">add</a>
            </div>

        </form>

    </div>
</section>


<div id="form-gruppo-vuoto" class="hidden">
    <div class="gruppo mb-3" style="border: 2px solid red; padding: 5px;">
        <div style="color: #fff;">
            {{ gruppi_formset.empty_form.dati_gruppo.label_tag }}
            {{ gruppi_formset.empty_form.dati_gruppo|add_class:'form-control mt-2'|append_attr:"placeholder: Gruppo" }}
        </div>
    </div>
</div>

{% endblock content %} 

{% block personalJS %}

<script>
    $("#addgrup").on("click", function(){
        var form_esercizi_idx = $('#id_gruppi-TOTAL_FORMS').val();
        var addes = $('#form-gruppo-vuoto').html().replace(/__prefix__/g, form_esercizi_idx);
        $(".raccoglitore-gruppi").append(addes);
        $('#id_gruppi-TOTAL_FORMS').val(parseInt(form_esercizi_idx) + 1);
    });
</script>

{% endblock personalJS %}
Вернуться на верх