Я использую modelformset_factory с объектом с именем selection в функции вида с названием зрелище. Каждый предмет сохраняется. Но после этого страница загружается с предыдущими пунктами. Такое непредвиденное поведение.Остаточные значения в полях шаблонов форм с помощью modelformset
Что я пропустил? Это что-то с проверкой?
Здесь суммируется вверх код:
from django.forms.models import modelformset_factory
def spectacle(request, id_spectacle=0):
selections_formset = modelformset_factory(Selection, fields=('nom',), extra=1)
if request.method == 'POST':
formset = selections_formset(request.POST, request.FILES)
if formset.is_valid():
for selection_form in formset:
selection_from_formset = selection_form.save(commit=False)
if selection_from_formset.nom != "" and selection_from_formset.nom is not None :
selection_from_formset.save()
message = 'success'
for fs in formset:
print fs.cleaned_data
else:
message = 'fail'
return render(request, 'create_spectacle.html',
{"formset": equipes_formset
})
else:
return render(request, 'create_spectacle.html',
{"formset": equipes_formset
})
<div id="my_form">
<form action="{% url 'create_spectacle' %}" method="post">
{% csrf_token %}
{{ formset.management_form }}
<div id="formsetZone">
{% for form in formset %}
<div class="nformset_form">
<h3>Equipe</h3>
{{ form.as_p }}
</div>
{% endfor %}
</div>
<input type="submit"/>
</form>
Спасибо за напоминание, но хотя он работает с другими полями за пределами набора форм (что я не упомянул для упрощения), он не работает для набора форм. Перенаправление работает хорошо и генерирует запрос на получение, но поля форм заполняются заполненными повторяющимися значениями. Кажется, что-то связано со второй строкой: selections_formset = modelformset_factory (Selection, fields = ('nom',), extra = 1) – Proph73