Loading django/forms/forms.py +23 −24 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ from django.utils import six from django.utils.encoding import ( force_text, python_2_unicode_compatible, smart_text, ) from django.utils.functional import cached_property from django.utils.html import conditional_escape, format_html, html_safe from django.utils.safestring import mark_safe from django.utils.translation import ugettext as _ Loading Loading @@ -92,7 +93,6 @@ class BaseForm(object): self.label_suffix = label_suffix if label_suffix is not None else _(':') self.empty_permitted = empty_permitted self._errors = None # Stores the errors after clean() has been called. self._changed_data = None # The base_fields class attribute is the *class-wide* definition of # fields. Because a particular *instance* of the class might want to Loading Loading @@ -434,10 +434,9 @@ class BaseForm(object): """ return bool(self.changed_data) @property @cached_property def changed_data(self): if self._changed_data is None: self._changed_data = [] data = [] for name, field in self.fields.items(): prefixed_name = self.add_prefix(name) data_value = field.widget.value_from_datadict(self.data, self.files, prefixed_name) Loading @@ -453,11 +452,11 @@ class BaseForm(object): self.data, self.files, initial_prefixed_name)) except ValidationError: # Always assume data has changed if validation fails. self._changed_data.append(name) data.append(name) continue if field.has_changed(initial_value, data_value): self._changed_data.append(name) return self._changed_data data.append(name) return data @property def media(self): Loading Loading
django/forms/forms.py +23 −24 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ from django.utils import six from django.utils.encoding import ( force_text, python_2_unicode_compatible, smart_text, ) from django.utils.functional import cached_property from django.utils.html import conditional_escape, format_html, html_safe from django.utils.safestring import mark_safe from django.utils.translation import ugettext as _ Loading Loading @@ -92,7 +93,6 @@ class BaseForm(object): self.label_suffix = label_suffix if label_suffix is not None else _(':') self.empty_permitted = empty_permitted self._errors = None # Stores the errors after clean() has been called. self._changed_data = None # The base_fields class attribute is the *class-wide* definition of # fields. Because a particular *instance* of the class might want to Loading Loading @@ -434,10 +434,9 @@ class BaseForm(object): """ return bool(self.changed_data) @property @cached_property def changed_data(self): if self._changed_data is None: self._changed_data = [] data = [] for name, field in self.fields.items(): prefixed_name = self.add_prefix(name) data_value = field.widget.value_from_datadict(self.data, self.files, prefixed_name) Loading @@ -453,11 +452,11 @@ class BaseForm(object): self.data, self.files, initial_prefixed_name)) except ValidationError: # Always assume data has changed if validation fails. self._changed_data.append(name) data.append(name) continue if field.has_changed(initial_value, data_value): self._changed_data.append(name) return self._changed_data data.append(name) return data @property def media(self): Loading