From 8424c8ae6cb817a978783ffed479c9959ef9c668 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Kr=C3=A1l?= Date: Sun, 5 Jul 2009 13:26:31 +0000 Subject: [PATCH] [soc2009/model-validation] changed error_message creation to use __mro__ instead of recursive function. git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/model-validation@11184 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/forms/fields.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/django/forms/fields.py b/django/forms/fields.py index ae91dea70f..cff1970450 100644 --- a/django/forms/fields.py +++ b/django/forms/fields.py @@ -101,15 +101,12 @@ class Field(object): self.creation_counter = Field.creation_counter Field.creation_counter += 1 - def set_class_error_messages(messages, klass): - for base_class in klass.__bases__: - set_class_error_messages(messages, base_class) - messages.update(getattr(klass, 'default_error_messages', {})) - messages = {} - set_class_error_messages(messages, self.__class__) + for c in reversed(self.__class__.__mro__): + messages.update(getattr(c, 'default_error_messages', {})) messages.update(error_messages or {}) self.error_messages = messages + self.validators = self.default_validators + validators def to_python(self, value):