Удаление элемента из select после добавления в базу данных (фильтрация)
выложите код и фотографии, потому что я не знаю, как объяснить проблему. У меня есть зеленая кнопка, которая открывает модал, который позволяет мне создать группу и сохранить ее в бд после нажатия на add group. После добавления объекта в базу данных я перезагружаю страницу с данными, введенными через модал, если я снова нажимаю на зеленую кнопку, у меня есть возможность добавить другой объект. Проблема в том, что я всегда могу добавить один и тот же объект в select, хотелось бы, чтобы после добавления больше не было возможности добавить его.
form
class EserciziForm(forms.ModelForm):
class Meta:
model = models.DatiEsercizi
exclude = ['gruppo_single']
class GruppiForm(forms.ModelForm):
class Meta:
model = models.DatiGruppi
exclude = ['gruppi_scheda']
html
view
def creazione(request, nome):
scheda = get_object_or_404(Schede, nome_scheda = nome)
if request.method == "POST":
gruppo_form = GruppiForm(request.POST, prefix = 'gruppo')
if gruppo_form.is_valid():
gruppo = gruppo_form.save(commit = False)
gruppo.gruppi_scheda = scheda
gruppo.save()
return HttpResponseRedirect(request.path_info)
else:
gruppo_form = GruppiForm(prefix = 'gruppo')
context = {'scheda' : scheda, 'gruppo_form' : gruppo_form}
return render(request, 'crea/passo2.html', context)
Проблема в том, что я всегда могу добавить один и тот же объект в select, хотелось бы, чтобы после добавления больше не было возможности добавить его.
Если проблема связана с тем, что сохраненные данные не отображаются снова в модале, то вам нужно убедиться, что сохраненные данные не передаются в шаблон из views.py
.
Более простым решением будет модификация вашего метода в views.py
таким образом, чтобы при отправке данных они извлекались из gruppo_form
. Таким образом, он удалит сохраненные данные и не будет отображаться, как требуется. Вы также можете проверить объекты формы на предмет того, существуют ли уже эти данные, см. здесь, если да, то не возвращайте их в шаблон.