我想使用ModelFormset来更新表数据。图片上的每一行包含一个包含两个字段的表单,以及一个表单所需的字段。
我不想使用空表单来创建新对象,只能将其从模板中的渲染中删除,并且子类save方法只保存带有来自queryset的初始数据的表单:
class MyFormSet(BaseModelFormSet):
def save(self, commit=True):
if not commit:
self.saved_forms = []
return self.save_existing_objects(commit)
但仍需要验证空表单,并且我在必填字段上收到验证错误。
如何禁用“新对象”表单的使用/验证?
答案 0 :(得分:0)
使用extra参数
显示的空表单数由extra参数控制。默认情况下,formset_factory()定义一个额外的表单;以下示例将不显示空白表单:
modelformset_factory(model, formset=MyFormSet, extra=1)