foreign choices django django-models django-admin

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?