hjwp's wonderful Test-Driven Development with Python book demonstrates overriding default ModelForm field error messages in chapter 11:
from django import forms
from lists.models import Item
class ItemForm(forms.models.ModelForm):
class Meta:
[...]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
empty_error = "You can't have an empty list item"
self.fields['text'].error_messages['required'] = empty_error
But then proclaims (it's a work in progress)...
Django 1.6 has a simpler way of overriding field error messages. I haven’t had time to implement it yet, but you should feel free to look it up and use it!
This has proven a surprisingly difficult topic to look up, and I hope to save someone else the time. What is the simpler way to accomplish it?