diff options
| author | Pavel Dedik <pavel.dedik@kiwi.com> | 2019-10-25 14:41:34 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-10-28 10:32:34 +0100 |
| commit | 711a7d4d50c1ef194a4a71e68ce7fa38fcb5103f (patch) | |
| tree | 294d0f0cbdc77d51cbcf9cd2e064a34789e97c06 /django/contrib/postgres/forms/array.py | |
| parent | bcfbb71c63092f4bc0fa5cc3f82ece2c986e3168 (diff) | |
Fixed #30907 -- Fixed SplitArrayField.has_changed() with removal of empty trailing values.
Diffstat (limited to 'django/contrib/postgres/forms/array.py')
| -rw-r--r-- | django/contrib/postgres/forms/array.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/django/contrib/postgres/forms/array.py b/django/contrib/postgres/forms/array.py index d16a51c2e7..2e19cd574a 100644 --- a/django/contrib/postgres/forms/array.py +++ b/django/contrib/postgres/forms/array.py @@ -221,3 +221,14 @@ class SplitArrayField(forms.Field): if errors: raise ValidationError(list(chain.from_iterable(errors))) return cleaned_data + + def has_changed(self, initial, data): + try: + data = self.to_python(data) + except ValidationError: + pass + else: + data, _ = self._remove_trailing_nulls(data) + if initial in self.empty_values and data in self.empty_values: + return False + return super().has_changed(initial, data) |
