From 1907fc9b1292a55f1b8d54f4dbcdbda16bbb36c1 Mon Sep 17 00:00:00 2001 From: shanghui Date: Fri, 1 Sep 2017 14:26:09 +0800 Subject: Fixed #28534 -- Made JSONField.has_changed() ignore key order and consider True/1 values as different. --- tests/postgres_tests/test_json.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'tests/postgres_tests') diff --git a/tests/postgres_tests/test_json.py b/tests/postgres_tests/test_json.py index acbd855f1a..a572e670ac 100644 --- a/tests/postgres_tests/test_json.py +++ b/tests/postgres_tests/test_json.py @@ -410,3 +410,8 @@ class TestFormField(PostgreSQLTestCase): for json_string in tests: val = field.clean(json_string) self.assertEqual(field.clean(val), val) + + def test_has_changed(self): + field = forms.JSONField() + self.assertIs(field.has_changed({'a': True}, '{"a": 1}'), True) + self.assertIs(field.has_changed({'a': 1, 'b': 2}, '{"b": 2, "a": 1}'), False) -- cgit v1.3