Django, Models & Forms: замените сообщение «Это поле обязательно»

Я знаю, как устанавливать собственные сообщения об ошибках при использовании обычных форм Django. Но как насчет Django Form на основе существующей модели? Рассмотрим следующую модель и форму:

Class MyModel(models.Model):
    name = models.CharField(max_length='30')

Class MyForm(forms.ModelForm):
    Class Meta:
        model = MyModel

Если я создам такую ​​форму и попытаюсь опубликовать ее, появится сообщение «Это поле обязательно». Но как это изменить? Конечно, я мог бы сделать что-то вроде этого:

Class MyForm(forms.ModelForm):
    model = forms.CharField(error_messages = {'required': "something..."})
    Class Meta:
        model = MyModel

Но согласно документации, атрибут max_length не будет сохранен, и я должен явно указать его в определении формы. Я думал, что цель модельных форм - избежать написания одного и того же кода дважды. Таким образом, должен быть какой-то простой способ изменить пользовательское сообщение об ошибке, не перезаписывая всю форму. В принципе, мне было бы достаточно, если бы мое сообщение выглядело примерно так: «Поле 'name' обязательно»

Пожалуйста, помогите.

14
задан tobik 21 March 2011 в 13:18
поделиться