web-dev-qa-db-fra.com

Comment définir une valeur par défaut, max et min pour un champ entier Django?

from Django.db import models
from Django.core.validators import MaxValueValidator, MinValueValidator 
class Match(models.Model):
             .
             .
             .
             overs = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(100)])

J'ai essayé d'utiliser PositiveIntegerField mais je crois que vous ne pouvez pas définir une valeur maximale pour cela via Django - Je ne suis pas sûr.

17
Rajat Rasal

PositiveIntegerField garantit qu'aucun entier inférieur à 0 ne sera accepté. Vos validateurs semblent gérer correctement les valeurs minimales et maximales. Tout ce qui vous manque est default pour la valeur par défaut. Donc quelque chose comme

overs = models.PositiveIntegerField(default=10, validators=[MinValueValidator(1), MaxValueValidator(100)])
17
Tom