如何限制Django模型中PositiveIntegerfield的最大值?

时间:2015-01-05 15:56:57

标签: django django-models

我在模型中有一个字段存储百分比值。如何以比模型验证器 1 更严格的方式将可能值限制为0-100范围?

备注

  1. Model validators will not be run automatically when you save a model, but if you're using ModelForms

1 个答案:

答案 0 :(得分:7)

您应该使用验证器。

from django.db import models
from django.core.validators import MaxValueValidator

class MyModel(models.Model):
    percent_field = models.PositiveIntegerField(min_value=0, validators=[MaxValueValidator(100),])

就个人而言,我宁愿使用Float存储百分比,并使用0-1范围。 验证器应该以类似的方式工作。