Django 移除唯一字段的表单错误

3 投票
1 回答
3348 浏览
提问于 2025-05-01 04:07

我有一个Django模型,其中有一个叫做customer_code的字段,这个字段是唯一的,但并不是所有用户都有这个字段的值。其他用户只是用这个代码来找到提供他们代码的用户,作为参考号码。不过,当他们提交表单时,由于这个字段是唯一的,就会出现错误。

我想在验证时去掉这个错误。用户在保存之前,这个字段的值会被设置为None,所以并不会保存这个值。我尝试过在表单中使用自定义的clean()方法来解决这个问题:

def clean(self):
    super(EmployeeForm, self).clean()
    if 'customer_code' in self.errors:
        del self._errors['customer_code']
    return self

但是这个方法并没有奏效。非常感谢大家的帮助!

暂无标签

1 个回答

1

在这个方法的最后,你应该返回 cleaned_data

 cleaned_data = super(EmployeeForm, self).clean()
 ...
 return cleaned_data

撰写回答