Jelajahi Sumber

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.
Mariusz Felisiak 1 bulan lalu
induk
melakukan
7500044a82
2 mengubah file dengan 5 tambahan dan 1 penghapusan
  1. 4 1
      tests/model_fields/models.py
  2. 1 0
      tests/model_fields/test_jsonfield.py

+ 4 - 1
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):

+ 1 - 0
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"})]