From 7500044a825b3e6695f4f0f9e56d5bdc0c5d7988 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Wed, 19 Feb 2025 22:13:59 +0100 Subject: [PATCH] Refs #35167 -- Fixed test_bulk_update_custom_get_prep_value() crash on databases that don't support primitives in JSONFields. For example on Oracle < 21c. --- tests/model_fields/models.py | 5 ++++- tests/model_fields/test_jsonfield.py | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/model_fields/models.py b/tests/model_fields/models.py index 299e927615..ba8d4fa6b0 100644 --- a/tests/model_fields/models.py +++ b/tests/model_fields/models.py @@ -438,7 +438,10 @@ class CustomSerializationJSONModel(models.Model): json_field = StringifiedJSONField() class Meta: - required_db_features = {"supports_json_field"} + required_db_features = { + "supports_json_field", + "supports_primitives_in_json_field", + } class AllFieldsModel(models.Model): diff --git a/tests/model_fields/test_jsonfield.py b/tests/model_fields/test_jsonfield.py index 267b9a0e66..3fd68477e1 100644 --- a/tests/model_fields/test_jsonfield.py +++ b/tests/model_fields/test_jsonfield.py @@ -304,6 +304,7 @@ class TestSaveLoad(TestCase): obj.refresh_from_db() self.assertEqual(obj.value, value) + @skipUnlessDBFeature("supports_primitives_in_json_field") def test_bulk_update_custom_get_prep_value(self): objs = CustomSerializationJSONModel.objects.bulk_create( [CustomSerializationJSONModel(pk=1, json_field={"version": "1"})]