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í puede. Es discutible si debería - hay un informe de errores de larga data: http://code.djangoproject.com/ticket/7609
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.