Django docs state that a ModelForm will automatically set some field attributes for auto generated form fields. Those attributes are limited to : 'required', 'verbose_name', 'help_text', and 'choices' (according to https://docs.djangoproject.com/en/dev/topics/forms/modelforms/#django.forms.ModelForm )
If the 'error_messages' attribute were also included, then there'd be just one place to define all your error messages: the model. This makes cleaner code, because you know there's only one way to look for error messages. I use this function to make that happen: def copy_model_error_messages( ModelFormType ): for ( field_name, formField, ) in ModelFormType.__dict__[ 'base_fields' ].items(): modelField = ModelFormType.Meta.model._meta.get_field( field_name ) for ( message_key, message_value, ) in modelField.error_messages.items( ): formField.error_messages[ message_key ] = message_value I just call my function right after every ModelForm definition so that it gets it's error messages from the model fields: class MyModelForm( forms.ModelForm ): ... class Meta: ... copy_model_error_messages( MyModelForm ) Would you consider adding this feature to ModelForms? -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To post to this group, send email to django-developers@googlegroups.com. Visit this group at http://groups.google.com/group/django-developers?hl=en. For more options, visit https://groups.google.com/groups/opt_out.