Django non rispetta l'attributo max_length del campo del modello TextField durante la convalida di un ModelForm.Django TextField validazione max_length per ModelForm
Così mi definiscono un LimitedTextField ereditato dal models.TextField e ha aggiunto la convalida bit simile 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)
Ma questo ancora non ha alcun effetto sulla convalida ModelForm.
Cosa mi manca? Ogni aiuto è molto apprezzato.
Grazie,
OMAT
Da django 1.7, puoi usare l'attributo 'max_length' in TextField –