2016-09-27 60 views
0

https://docs.djangoproject.com/en/1.10/topics/forms/formsets/#can-delete什麼是純表單集中

「。另一方面,如果你使用的是普通的表單集,它是由你來處理formset.deleted_forms,也許在你的表單集的save()方法,因爲沒有一般概念這意味着什麼刪除表單。「

你能幫我理解什麼是「普通的FormSet」。

也許BaseFormSet會更好?

我是Django的新手。

我應該創建一個關於清理/優化文檔的新票嗎?

回答

0

普通formset是由formset_factory返回的類。

還有modelformset_factory,它返回模型表單集。

當您在模型窗體集上調用save()時,它將負責刪除您標記爲要刪除的對象。

該文檔說普通(非模型)formset不會照顧刪除對象,所以你必須自己處理它。

+0

這是文檔中的錯誤措辭嗎?我的意思是你寫了「plain formset」,而文檔中提到了「plain FormSet」。在formset_factory(MyArticleForm)的情況下,我們將獲得django.forms.formsets.MyArticleFormFormSet。一切都很模糊。如果你的措詞可以用比喻來理解,那麼文件可能不會。據我所知,根本沒有FormSet。有BaseFormSet的後代。我是否應該考慮創建一張新票並向社區提供更好的措辭? – Michael

+0

我不認爲將'FormSet'更改爲'BaseFormSet'會有所改進。模型formset類仍然是'BaseFormSet'的後代(通過'BaseModelFormSet')。 – Alasdair

+0

但你是否同意「普通FormSet」不是一句優秀的措辭?我可能會考慮提供更好的優惠,並建議讓社羣批准。 – Michael