我有一个模型,它在模型中引发了 ValidationError,然后我在管理员中自定义了表单。“myfield”是一个ForeingKey。
class MyModel(models.Models):
myfield = models...
def clean(self):
if check_something_on(self.myfield):
raise ValidationError("Technical Error in myfield")
def save(self, *kwargs):
self.clean()
super(MyModel, self).save(*kwargs)
我希望通过shell系统或其他方法,myfield字段总是可以的。
然后,我在管理员中添加了一个如下所示的表单:
class MyModelAdminForm(forms.ModelForm):
myfield = form...
def clean(self):
cleaned_data = super(MyModelAdminForm, self).clean()
myfield = cleaned_data['myfield']
if check_something_on(myfield):
forms.ValidationError("User helping Error in myfield")
return cleaned_data
发生的情况是,在管理页面中,我最终得到了两条消息,技术错误和用户帮助错误......
有什么办法可以防止这种情况发生吗?
谢谢