Django ne respecte pas l'attribut max_length du champ de modèle TextField lors de la validation d'un ModelForm.Validation Django TextField max_length pour ModelForm
Je définir une LimitedTextField héritée de la validation des bits models.TextField et ajouté similaire à 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)
Mais cela n'a encore aucun effet sur la validation ModelForm.
Qu'est-ce qui me manque? Toute aide est très appréciée.
Merci,
OMat
Depuis django 1.7, vous pouvez utiliser l'attribut 'max_length' dans TextField –