【问题标题】:What triggers form validation for a Django formset?什么触发了 Django 表单集的表单验证?
【发布时间】:2011-03-21 08:33:59
【问题描述】:

我有一个基于 ModelForm 的 from,并使用 formset_factory 创建基于两个字典的表单集。还有一种额外的形式。

在我看来,我使用了 formset JS 插件并删除了两个带有数据的表单。当我发布剩余的空额外表单时,由于必填字段而无法通过验证。

我不明白为什么要验证该表单。它的 changed_data 列表是空的。它以 empty_permitted = False 返回(我想知道为什么会这样),但即使我在调试器中将其更改为 True,它也会被验证。

那么什么是触发验证,我该如何修改它?

我也想知道像初始数据这样的数据存储在哪里。那是我看不到的地方吗?

【问题讨论】:

    标签: django django-forms


    【解决方案1】:

    模板管理表单有一个名为 INITIAL_FORMS 的计数器。用于添加和删除表单的表单集插件不区分最初填充的表单和它添加的表单。当一个表单被删除时,如果它最初是被填充的,那么 INITIAL_FORMS 应该被递减。

    这可以通过包含一个模板变量来实现,该变量标记最初填充的表单。在formset插件的removed函数中,如果其中一个被标记的表单被删除,则递减INITIAL_FORMS。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 2011-09-17
      • 2013-04-01
      • 2011-06-02
      • 1970-01-01
      相关资源
      最近更新 更多