true integerfield example blank django django-models

example - 0 valor en Django PositiveIntegerField?



integerfield django example (4)

¿Puede un campo de modelos de tipo.PositiveIntegerField contener un valor de 0? Estoy haciendo algo como:

points = models.PositiveIntegerField(default=0)

Gracias,

Sé que debería probarlo yo mismo, pero aquí no tengo un entorno Django.


Bien por la definición de un Entero Positivo, no debería aceptar un valor cero, pero django realmente lo considera en el sentido de número no negativo que es cero inclusive. Entonces, sí, puede aceptar un valor cero


Para aquellos que buscan excluir el 0, es fácil escribir un validator para eso.

def validate_nonzero(value): if value == 0: raise ValidationError( _(''Quantity %(value)s is not allowed''), params={''value'': value}, )

y luego usarlo como tal

fill_qty = models.PositiveIntegerField( default=0, validators=[MaxValueValidator(1000000), validate_nonzero] )



Sí.

La referencia de campo modelo lo dice. Para completar, también citado aquí:

PositiveIntegerField

class PositiveIntegerField([**options])

Al igual que un IntegerField, pero debe ser positivo o cero (0). El valor 0 se acepta por razones de compatibilidad con versiones anteriores.