Фильтрация ввода 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 %}