summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHonza Král <honza.kral@gmail.com>2009-07-05 13:26:31 +0000
committerHonza Král <honza.kral@gmail.com>2009-07-05 13:26:31 +0000
commit8424c8ae6cb817a978783ffed479c9959ef9c668 (patch)
treec6f63d4b2d17990c9c7480811897443fae66a9d3
parent69b4f2ea2e8207b8c87cb184bf4c8b481cb623f3 (diff)
[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
-rw-r--r--django/forms/fields.py9
1 files 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):