如何避免 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
我有一个用于更新 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