如何为integerfield Django设置默认值,最大值和最小值?

Raj*_*sal 9 python django django-models django-forms

from django.db import models
from django.core.validators import MaxValueValidator, MinValueValidator 
class Match(models.Model):
             .
             .
             .
             overs = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(100)])
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用PositiveIntegerField,但我相信您无法通过Django为其设置最大值-我不确定。

Tom*_*Tom 19

PositiveIntegerField确保不接受小于0的整数。您的验证程序似乎可以正确处理最小值和最大值。您所缺少的只是default默认值。所以像

overs = models.PositiveIntegerField(default=10, validators=[MinValueValidator(1), MaxValueValidator(100)])
Run Code Online (Sandbox Code Playgroud)

  • @alias51您需要在前端执行此操作。您可以将“attrs”属性传递到此处的字段并指定[您想要的范围](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range)。 (2认同)