找到了更好的解决方案:
class requiredFormSet(BaseFormSet):
def __init__(self, *args, **kwargs):
super(requiredFormSet, self).__init__(*args, **kwargs)
for form in self.forms:
form.empty_permitted = False
然后像这样创建表单集:
MyFormSet = formset_factory(MyForm, formset=requiredFormSet)
我真的不知道为什么这不是一个开始的选择……但是,无论如何。我一生只花了几个小时就弄明白了。
这将形成所需的所有表格。你可以通过设置self.forms[0].empty_permitted
为来制作所需的第一个False
。