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

How can I avoid form.is_valid() flagging an empty field as an error in Django?

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

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

最简单的做法可能是将表单子类化并在子类中设置 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