0

我有一个模型,它在模型中引发了 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

发生的情况是,在管理页面中,我最终得到了两条消息,技术错误和用户帮助错误......

有什么办法可以防止这种情况发生吗?

谢谢

4

0 回答 0