0
我在名爲spectacle的視圖函數中使用modelformset_factory和名爲selection的對象。每件物品都得到保存。但在此之後,頁面會被加載 與以前的項目。這種不受歡迎的行爲。使用modelformset模板formset字段中的殘差值
我錯過了什麼?這是否與驗證有關?
這裏求和式的代碼:
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>
謝謝你的提醒,但 雖然它與formset之外的其他字段一起工作(我沒有提到要簡化),但它不適用於formset。 重定向工作正常,並生成get請求,但formset字段顯示充滿了上一個值。 它似乎與第二行有關:selections_formset = modelformset_factory(Selection,fields =('nom',),extra = 1) – Proph73