0
我構建了Formset
和can_delete=true
。 Formset
工作正常。問題是重新填充表單,因爲提交後,用戶被重定向到同一個表單頁面上。什麼讓我感到困惑,即使它在數據庫中不再存在,被刪除的項目仍然保留在表單中。Django 1.10 - Formset重新填充已刪除的項目
我forms.py:
class BookForm(forms.ModelForm):
class Meta:
model = Book
fields = ['title', 'description', 'author']
BookFormset = forms.modelformset_factory(
Book,
form=BookForm,
fields=['title', 'description', 'author'],
can_delete=True,
extra=1
)
提交視圖功能:
def submit(request):
book_formset = BookFormset(request.POST)
if book_formset.is_valid():
messages.add_message(request, messages.SUCCESS, 'Correct.')
book_formset.clean()
book_formset.save()
else:
messages.add_message(request, messages.ERROR, 'Error!')
context = {
'book_formset': book_formset,
}
return render(request, 'sand/index.html', context)
我試過:
在下面的屏幕我試圖刪除RABIT的瘋狂book
。
屏幕前提交:
屏幕提交後:
注意你不應該叫'book_formset.clean()' - 這將自動爲'book_formset.is_valid()'調用的一部分來完成。 – Alasdair
哦,我不知道它。感謝您的提示。 – Fusion