Django no respeta el atributo max_length del campo de modelo TextField al validar un ModelForm.Django TextField max_length validación para ModelForm
Así que definen un LimitedTextField heredado de la models.TextField y ha añadido la validación de los bits similar a models.CharField:
from django.core import validators
class LimitedTextField(models.TextField):
def __init__(self, *args, **kwargs):
super(LimitedTextField, self).__init__(*args, **kwargs)
self.max_length = kwargs.get('max_length')
if self.max_length:
self.validators.append(validators.MaxLengthValidator(self.max_length))
def formfield(self, **kwargs):
defaults = {'max_length': self.max_length}
defaults.update(kwargs)
return super(LimitedTextField, self).formfield(**defaults)
Pero esto todavía no tiene ningún efecto sobre la validación ModelForm.
¿Qué me estoy perdiendo? Cualquier ayuda es muy apreciada.
Gracias,
Omat
Desde django 1.7, yon puede usar el atributo 'max_length' en TextField –