diff options
| author | Claude Paroz <claude@2xlibre.net> | 2015-12-16 23:07:17 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2015-12-17 15:38:19 +0100 |
| commit | d91cc25a2a43cb2526943dc2285ffe59e38fabfd (patch) | |
| tree | 4a2c3a630ec900f8ed4210cf9c5fdf762e56c48b /django/forms/fields.py | |
| parent | 2ec23a3d41be2ba5df9f46b17e0a05eb1b051c41 (diff) | |
Fixed #25942 -- Fixed TypedChoiceField.has_changed with nullable field
This fixes a regression introduced by 871440361.
Diffstat (limited to 'django/forms/fields.py')
| -rw-r--r-- | django/forms/fields.py | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/django/forms/fields.py b/django/forms/fields.py index 55f225e65b..ac615bbe68 100644 --- a/django/forms/fields.py +++ b/django/forms/fields.py @@ -181,17 +181,16 @@ class Field(object): """ Return True if data differs from initial. """ - # For purposes of seeing whether something has changed, None is - # the same as an empty string, if the data or initial value we get - # is None, replace it w/ ''. - initial_value = initial if initial is not None else '' try: data = self.to_python(data) if hasattr(self, '_coerce'): - data = self._coerce(data) - initial_value = self._coerce(initial_value) + return self._coerce(data) != self._coerce(initial) except ValidationError: return True + # For purposes of seeing whether something has changed, None is + # the same as an empty string, if the data or initial value we get + # is None, replace it with ''. + initial_value = initial if initial is not None else '' data_value = data if data is not None else '' return initial_value != data_value |
