如何从表单集中删除表单

Posted

技术标签:

【中文标题】如何从表单集中删除表单【英文标题】:How to remove a form from formset 【发布时间】:2018-11-09 21:51:46 【问题描述】:

views.py

formset = ComparisonScoreFormSet(initial=[
    'comparison': comparison for comparison in Comparison.objects.all()
])

我用初始值初始化了一个表单集。这会添加具有初始值的表单以及没有初始值的表单。

我需要删除没有初始值的表单。

我需要做如下的事情

del formset[-1] #since the form with no initial value is at the last

【问题讨论】:

【参考方案1】:

试试这个:

formset = ComparisonScoreFormSet(
    initial=['comparison': comparison for comparison in Comparison.objects.all()],
    extra = 0, # defines number of extra empty forms
)

【讨论】:

在初始化formset时设置extra不起作用但是,在formset_factory创建formset时设置它确实有效!

以上是关于如何从表单集中删除表单的主要内容,如果未能解决你的问题,请参考以下文章

从 django formset 中删除表单

如果引发 ValidationError,删除链接会在 Django 管理内联表单集中消失

通过表单从 Access 联结表中删除行

MS Access:从子表单中删除记录时捕获值

如何限制表单集中的字段选择?

从 SwiftUI 中的表单中删除分隔线