Вы правы, эти документы не очень полезны.В конце концов, это недавнее добавление!
Я предполагаю, что обычное использование error_messages - для ModelForms, поэтому я бы посмотрел здесь список допустимых ключей ошибок для каждого поля: http://docs.djangoproject.com/en/dev/ref/forms/fields/#error-messages
Но, если вы хотите быть действительно в безопасности и ничего не предполагать ...
На данный момент самым надежным способом будет поиск источника django/db/models/fields/__init__.py
, где вы 'Вы увидите каждый из default_error_messages
, который можно указать, и фактические вызовы self.error_messages['invalid']
# Field (base class)
default_error_messages = {
'invalid_choice': _(u'Value %r is not a valid choice.'),
'null': _(u'This field cannot be null.'),
'blank': _(u'This field cannot be blank.'),
}
# AutoField
default_error_messages = {
'invalid': _(u'This value must be an integer.'),
}
Вот документация по проверке модели: http://docs.djangoproject.com/en/dev/ref/models/instances/#validating-objects
Обновление:
Только что проверил это в сеансе оболочки, и похоже, что оно работает.Что случилось?
Я только что определил простую модель:
class SubscriptionGroup(models.Model):
name = models.CharField(max_length=255, error_messages={'blank': 'INVALID!!11', 'null': 'NULL11!'})
# shell
>>> s = SubscriptionGroup()
>>> s.full_clean()
ValidationError: {'name': [u'INVALID!!11']}