There's one change I'd like to ask for: error_key looks mysterious, as if you're giving up on encapsulation there and punting responsibility for explanation to Django. Would it be better called field_name?
I suppose there would be no point in checking for pre-existing errors on the same field, and appending instead of setting — although Django's API for this does look as if it was designed that way, sort of.
Nice touch, thanks.
There's one change I'd like to ask for: error_key looks mysterious, as if you're giving up on encapsulation there and punting responsibility for explanation to Django. Would it be better called field_name?
I suppose there would be no point in checking for pre-existing errors on the same field, and appending instead of setting — although Django's API for this does look as if it was designed that way, sort of.