Django-如何指定验证失败的字段?
|
我在管理页面中显示了该模型:
class Dog(models.Model):
bark_volume = models.DecimalField(...
unladen_speed = models.DecimalField(...
def clean(self):
if self.bark_volume < 5:
raise ValidationError(\"must be louder!\")
如您所见,我对模型进行了验证。但是我想让管理员页面在bark_volume字段旁边显示错误,而不是像现在这样显示一般错误。有没有一种方法可以指定验证失败的字段?
提前非常感谢。
没有找到相关结果
已邀请:
6 个回复
辟官陡板休
遣莫捅炭
至少在表单上有效。从未在模型本身上尝试过,但是方法应该相同。但是,从Django文档中: 当您使用ModelForm时,对is_valid()的调用将对表单中包括的所有字段执行这些验证步骤。 (有关更多信息,请参见ModelForm文档。)仅当您计划自己处理验证错误,或者从ModelForm中排除了需要验证的字段时,才需要调用模型的full_clean()方法。 和... 请注意,当您调用模型的save()方法时或由于ModelForm验证而不会自动调用full_clean()。要在ModelForm外部运行模型验证时,需要手动调用它。 因此,基本上,除非您有充分的理由对模型进行现场清理,否则应在表单上进行清理。该代码如下所示:
这肯定会起作用。
稍惮
乏摩纶誊伟
方法:
请参阅“表单验证”页面的“ 7”部分。另外,请确保使用
代替表单字段本身;后者可能有旧数据。最后,在表单而不是模型上执行此操作。
青董据零
Django关于验证程序的文档:https://docs.djangoproject.com/en/dev/ref/validators/
娜拐赐巫潭