Formset验证更改Django 1.6

时间:2014-09-04 10:23:15

标签: django django-forms django-1.6

我在Django 1.5中使用了以下代码:

if formset.is_valid():
    formset.save()

formset中的表单正在clean()内部执行检查,以确保输入某些必填字段(仅在运行时已知)。这意味着虽然用户可能不会输入任何值,但验证仍会运行,并在需要时请求输入数据。

使用Django 1.6时,此行为不再适用。如果没有变化,那么在调用formset.is_valid()时,不再调用表单的clean()方法。

我在更改日志中找不到可以解释这个新behvaiour的任何内容。即使没有进行任何更改,formset.is_valid()上是否有标志强制验证?

1 个答案:

答案 0 :(得分:0)

似乎已跳过验证,因为formset更改了表单的edit_permitted属性。

以下更改解决了我遇到的问题:

  # Was required to disable shortcut for validation when
  # no data was entered
  for form in formset:
      form.empty_permitted = False