如何避免form.is_valid()将空字段标记为Django中的错误?

时间:2015-03-21 17:52:49

标签: python django django-forms django-templates

我有一个用于更新表的模板。但是,用户可以选择更新一个字段或全部字段。可能他不会更新所有字段,所以我希望能够运行form.is_valid(),但如果表单中有空字段,我不希望它返回false几乎肯定是。

我不想在表单中使用required=False,因为还有另一个模板使用相同的表单,用户必须填写几乎所有字段。

1 个答案:

答案 0 :(得分:1)

最简单的做法可能是对表单进行子类化并在子类中设置required=False,重复字段定义或在__init__中执行。否则,您可以在视图中设置required=False,例如:

def some_view(request):
    if request.METHOD == 'POST':
        form = SomeFormClass(request.POST)
        form.fields['fieldname'].required = False
        if form.is_valid():
            # etc