2015-03-28 3 views
1

При добавлении unique_together ограничений, clean() метод форме будет выполнять проверку на уникальность, и если не уникальный, выбросит сообщение об ошибке, как:Транслейтинг по умолчанию «уже существует» сообщение

(Object) с этим (Field1), (Field2) et (Field4) уже существует.

Я не использую перевод через файлы .mo/.po в моем проекте Django; все мои пользовательские сообщения о проверке в любом случае переведены на мой язык.

Каков правильный способ перевода для этого (один раз, по проекту)? Предпочтительно, не отправляя маршрут перевода .PO.

Примечание: Самое смешное, что слово and в приведенной выше цитате ошибки является переведена на мой родной язык (et).

Использование Django 1.7.7.

ответ

1

Это было добавлено в Django 1.7:

Вы можете отменить сообщения об ошибках от NON_FIELD_ERRORS поднятого проверки модели путем добавления ключа NON_FIELD_ERRORS к словарю error_messages внутренней Meta классе ModelForm в

следующий класс Meta может быть добавлен к DefaultForm (который затем используется в качестве родителя для всех других форм):

class Meta: 
    error_messages = { 
     NON_FIELD_ERRORS: { 
      'unique_together': "%(model_name)s's %(field_labels)s are not unique.", 
     } 
    }