choices - django models unique field
Django max_length para IntegerField (1)
Django ignora max_length
para los campos de enteros, y te avisará en Django 1.8+. Vea el boleto 23801 para más detalles.
Puede utilizar un validador de valor máximo,
from django.core.validators import MaxValueValidator
class MyModel(models.Model):
...
id_student = models.PositiveIntegerField(primary_key=True, validators=[MaxValueValidator(9999999999)])
o use un CharField
para almacenar la identificación, y use un validador de CharField
regulares para asegurarse de que la identificación está hecha de dígitos. Esto tendría la ventaja de permitir identificadores que comienzan con cero.
class MyModel(models.Model):
...
id_student = models.CharField(primary_key=True, max_length=10, validators=[RegexValidator(r''^/d{1,10}$'')])
Tengo este campo modelo:
id_student = models.PositiveIntegerField(primary_key=True, max_length=10)
La restricción max_length
no funciona. Puedo iniciar sesión en el administrador y crear un estudiante con una identificación con más de 10 caracteres. ¿Como puedo resolver esto?