我想在django admin中为输入数据添加验证,因此我已将此类代码添加到models.py
class Score(models.Model):
#fields description
def save(self, *args, **kw):
if (validating data):
super(Score, self).save(*args, **kw)
else:
raise forms.ValidationError("Error input")
我无法理解我必须在ValidationError
写一下这封邮件。
答案 0 :(得分:2)
您应该在proper place而非save
要为特定字段分配例外,请实例化 带有字典的ValidationError,其中键是字段名称。 我们可以更新前面的例子来将错误分配给 pub_date字段:
class Article(models.Model):
...
def clean(self):
# Don't allow draft entries to have a pub_date.
if self.status == 'draft' and self.pub_date is not None:
raise ValidationError({'pub_date': 'Draft entries may not have a publication date.'})
...