diff --git a/django/contrib/postgres/forms/hstore.py b/django/contrib/postgres/forms/hstore.py index 6a20f7b729..f824f78c3e 100644 --- a/django/contrib/postgres/forms/hstore.py +++ b/django/contrib/postgres/forms/hstore.py @@ -20,7 +20,7 @@ class HStoreField(forms.CharField): def prepare_value(self, value): if isinstance(value, dict): - return json.dumps(value) + return json.dumps(value, ensure_ascii=False) return value def to_python(self, value): diff --git a/tests/postgres_tests/test_hstore.py b/tests/postgres_tests/test_hstore.py index 2aaad637c6..cac3eb742a 100644 --- a/tests/postgres_tests/test_hstore.py +++ b/tests/postgres_tests/test_hstore.py @@ -410,6 +410,13 @@ class TestFormField(PostgreSQLSimpleTestCase): form_w_hstore = HStoreFormTest({"f1": '{"a": 2}'}, initial={"f1": {"a": 1}}) self.assertTrue(form_w_hstore.has_changed()) + def test_prepare_value(self): + field = forms.HStoreField() + self.assertEqual( + field.prepare_value({"aira_maplayer": "Αρδευτικό δίκτυο"}), + '{"aira_maplayer": "Αρδευτικό δίκτυο"}', + ) + class TestValidator(PostgreSQLSimpleTestCase): def test_simple_valid(self):