From 35f86b641a4eb26fa2b7c3842b6d374834a4ea6b Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Fri, 14 Nov 2025 13:36:15 +0100 Subject: Refs #24928 -- Added introspection support for PostgreSQL HStoreField. --- tests/backends/postgresql/tests.py | 3 +++ tests/postgres_tests/test_introspection.py | 13 +++++++++++++ 2 files changed, 16 insertions(+) (limited to 'tests') diff --git a/tests/backends/postgresql/tests.py b/tests/backends/postgresql/tests.py index f7e7d1e68c..e03c37cb57 100644 --- a/tests/backends/postgresql/tests.py +++ b/tests/backends/postgresql/tests.py @@ -517,8 +517,11 @@ class Tests(TestCase): def test_correct_extraction_psycopg_version(self): from django.db.backends.postgresql.base import Database, psycopg_version + psycopg_version.cache_clear() with mock.patch.object(Database, "__version__", "4.2.1 (dt dec pq3 ext lo64)"): + self.addCleanup(psycopg_version.cache_clear) self.assertEqual(psycopg_version(), (4, 2, 1)) + psycopg_version.cache_clear() with mock.patch.object( Database, "__version__", "4.2b0.dev1 (dt dec pq3 ext lo64)" ): diff --git a/tests/postgres_tests/test_introspection.py b/tests/postgres_tests/test_introspection.py index 73c426d1ba..1ae940fdb9 100644 --- a/tests/postgres_tests/test_introspection.py +++ b/tests/postgres_tests/test_introspection.py @@ -33,3 +33,16 @@ class InspectDBTests(PostgreSQLTestCase): "null=True)", ], ) + + def test_hstore_field(self): + from django.db.backends.postgresql.base import psycopg_version + + if psycopg_version() < (3, 2): + self.skipTest("psycopg 3.2+ is required.") + self.assertFieldsInModel( + "postgres_tests_hstoremodel", + [ + "field = django.contrib.postgres.fields.HStoreField(blank=True, " + "null=True)", + ], + ) -- cgit v1.3