我有一个使用验证器来限制最大值的模型字段。但是错误消息说“确保此值小于或等于40。”。有什么办法可以将其更改为自定义消息?
from django.core.validators import MaxValueValidator
class Bucket(models.Model):
items = models.PositiveIntegerField(validators=[MaxValueValidator(40)])
谢谢
最佳答案
您应该将MaxValueValidator
子类化,并改为使用它:
class MyMaxValueValidator(MaxValueValidator):
message = _('Way over %(limit_value)s.')
然后
class Bucket(models.Model):
items = models.PositiveIntegerField(validators=[MyMaxValueValidator(40)])
编辑:如果您使用的是Django> = 1.8(此答案未发布),则可以跳过子类化,并按@catavaran建议使用:
class Bucket(models.Model):
items = models.PositiveIntegerField(validators=[MaxValueValidator(40, _('Way over %(limit_value)s.')])