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

anc*_*cho 3 django django-models

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

笔记

  1. 保存模型时,模型验证器不会自动运行,但如果您使用的是ModelForms

小智 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),])
Run Code Online (Sandbox Code Playgroud)

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