我在覆盖此 django 表单字段的默认错误消息时遇到问题:
forms.ModelMultipleChoiceField(
...
error_messages={
'invalid_choice': _("Given user is already a member.")
}
)
堆栈跟踪:
File "/home/.../python2.7/site-packages/django/forms/models.py", line 1052, in clean
raise ValidationError(self.error_messages['invalid_choice'] % val)
File "/home/.../python2.7/site-packages/django/utils/functional.py", line 160, in __mod__
return six.text_type(self) % rhs
TypeError: not all arguments converted during string formatting
我发现它实际上是这里的一个错误https://code.djangoproject.com/ticket/17840。
所以我的问题是:
是否可以忽略注入的参数self.error_messages['invalid_choice'] % val
,而不必升级到 django trunk 版本(这已经修复)?
类似于python中的任何选项的东西'invalid_choice': _("Given user %ign is already a member.")
?