Создание пользовательских сообщений об ошибках с формами моделей

Я вижу, как добавить сообщение об ошибке в поле при использовании форм, но как насчет модели form?

Это моя тестовая модель:

class Author(models.Model):
    first_name = models.CharField(max_length=125)
    last_name = models.CharField(max_length=125)
    created = models.DateTimeField(auto_now_add=True)
    updated = models.DateTimeField(auto_now=True)

Моя форма модели:

class AuthorForm(forms.ModelForm):
    class Meta:
        model = Author

Сообщение об ошибке в полях: first_name и last_name :

Это поле требуется

Как изменить это в модельной форме?

44
задан Milo 31 July 2019 в 12:06
поделиться

2 ответа

Для простых случаев можно задать пользовательские сообщения об ошибках

class AuthorForm(forms.ModelForm):
    first_name = forms.CharField(error_messages={'required': 'Please let us know what to call you!'})
    class Meta:
        model = Author
41
ответ дан 26 November 2019 в 21:42
поделиться

Самый простой способ - переопределить чистый метод:

class AuthorForm(forms.ModelForm):
   class Meta:
      model = Author
   def clean(self):
      if self.cleaned_data.get('name')=="":
         raise forms.ValidationError('No name!')
      return self.cleaned_data
7
ответ дан 26 November 2019 в 21:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: