summaryrefslogtreecommitdiff
path: root/django/forms/forms.py
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2013-01-25 20:50:46 +0100
committerClaude Paroz <claude@2xlibre.net>2013-01-25 20:50:46 +0100
commitebb504db692cac496f4f45762d1d14644c9fa6fa (patch)
tree1a1ac132d765f6e93c390fe532f9b39d1edee096 /django/forms/forms.py
parentce27fb198dcce5dad47de83fc81119d3bb6567ce (diff)
Moved has_changed logic from widget to form field
Refs #16612. Thanks Aymeric Augustin for the suggestion.
Diffstat (limited to 'django/forms/forms.py')
-rw-r--r--django/forms/forms.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/django/forms/forms.py b/django/forms/forms.py
index 3299c2becc..f532391296 100644
--- a/django/forms/forms.py
+++ b/django/forms/forms.py
@@ -341,7 +341,13 @@ class BaseForm(object):
hidden_widget = field.hidden_widget()
initial_value = hidden_widget.value_from_datadict(
self.data, self.files, initial_prefixed_name)
- if field.widget._has_changed(initial_value, data_value):
+ if hasattr(field.widget, '_has_changed'):
+ warnings.warn("The _has_changed method on widgets is deprecated,"
+ " define it at field level instead.",
+ PendingDeprecationWarning, stacklevel=2)
+ if field.widget._has_changed(initial_value, data_value):
+ self._changed_data.append(name)
+ elif field._has_changed(initial_value, data_value):
self._changed_data.append(name)
return self._changed_data
changed_data = property(_get_changed_data)