【问题标题】:django model formset update onlydjango 模型表单集仅更新
【发布时间】:2016-12-19 00:15:33
【问题描述】:

我想使用 ModelFormset 来更新表格数据。图片上的每一行包含一个带有两个字段的表单,并且表单中的一个字段是必需的。

我不想使用空表单来创建新对象,可以将其从模板中的渲染中删除,并使用子类 save 方法仅保存带有来自查询集的初始数据的表单:

class MyFormSet(BaseModelFormSet):

def save(self, commit=True):
    if not commit:
        self.saved_forms = []
    return self.save_existing_objects(commit)

但空表单仍然需要验证,我在必填字段上遇到验证错误。

如何禁用“新对象”表单的使用/验证?

【问题讨论】:

    标签: django forms


    【解决方案1】:

    使用extra 参数

    显示的空表单的数量由额外参数控制。默认情况下,formset_factory() 定义了一种额外的形式;以下示例将不显示空白表单:

      modelformset_factory(model, formset=MyFormSet, extra=1)
    

    【讨论】:

    • 很高兴能帮上忙
    猜你喜欢
    • 1970-01-01
    • 2010-10-12
    • 1970-01-01
    • 2023-03-10
    • 2011-04-16
    • 1970-01-01
    • 2018-09-13
    • 2016-04-21
    • 2014-04-11
    相关资源
    最近更新 更多