From c238e65e29494042d6ccf925c0a06a3135619799 Mon Sep 17 00:00:00 2001 From: Chason Chaffin Date: Wed, 3 Jul 2019 18:32:43 +0900 Subject: Fixed #30596 -- Fixed SplitArrayField.has_changed() for non-string base fields. Thanks to Evgeniy Krysanov for the report and the idea to use to_python. Thanks to Mariusz Felisiak for the test case. --- tests/postgres_tests/test_array.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'tests/postgres_tests/test_array.py') diff --git a/tests/postgres_tests/test_array.py b/tests/postgres_tests/test_array.py index d7ed5223e3..170c1caa0a 100644 --- a/tests/postgres_tests/test_array.py +++ b/tests/postgres_tests/test_array.py @@ -909,6 +909,18 @@ class TestSplitFormField(PostgreSQLSimpleTestCase): obj = form.save(commit=False) self.assertEqual(obj.field, [1, 2]) + def test_splitarrayfield_has_changed(self): + class Form(forms.ModelForm): + field = SplitArrayField(forms.IntegerField(), required=False, size=2) + + class Meta: + model = IntegerArrayModel + fields = ('field',) + + obj = IntegerArrayModel(field=[1, 2]) + form = Form({'field_0': '1', 'field_1': '2'}, instance=obj) + self.assertFalse(form.has_changed()) + class TestSplitFormWidget(PostgreSQLWidgetTestCase): -- cgit v1.3