Changed FormWrapper.fields (from [1253]) to be a property, so that it's only called when needed.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1257 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2005-11-16 00:33:50 +00:00
parent 2d49f70b0d
commit a469d821a1
1 changed files with 9 additions and 1 deletions

View File

@ -108,7 +108,6 @@ class FormWrapper:
def __init__(self, manipulator, data, error_dict): def __init__(self, manipulator, data, error_dict):
self.manipulator, self.data = manipulator, data self.manipulator, self.data = manipulator, data
self.error_dict = error_dict self.error_dict = error_dict
self.fields = [self.__getitem__(field.field_name) for field in self.manipulator.fields]
def __repr__(self): def __repr__(self):
return repr(self.data) return repr(self.data)
@ -128,6 +127,15 @@ class FormWrapper:
def has_errors(self): def has_errors(self):
return self.error_dict != {} return self.error_dict != {}
def _get_fields(self):
try:
return self._fields
except AttributeError:
self._fields = [self.__getitem__(field.field_name) for field in self.manipulator.fields]
return self._fields
fields = property(_get_fields)
class FormFieldWrapper: class FormFieldWrapper:
"A bridge between the template system and an individual form field. Used by FormWrapper." "A bridge between the template system and an individual form field. Used by FormWrapper."
def __init__(self, formfield, data, error_list): def __init__(self, formfield, data, error_list):