diff --git a/django_mongodb_backend/fields/embedded_model.py b/django_mongodb_backend/fields/embedded_model.py index fbc1d53a1..406f3ef22 100644 --- a/django_mongodb_backend/fields/embedded_model.py +++ b/django_mongodb_backend/fields/embedded_model.py @@ -23,7 +23,7 @@ def __init__(self, embedded_model, *args, **kwargs): super().__init__(*args, **kwargs) def db_type(self, connection): - return "embeddedDocuments" + return "object" def check(self, **kwargs): from ..models import EmbeddedModel # noqa: PLC0415 diff --git a/django_mongodb_backend/fields/polymorphic_embedded_model.py b/django_mongodb_backend/fields/polymorphic_embedded_model.py index d584cd7c1..3ab3aeba7 100644 --- a/django_mongodb_backend/fields/polymorphic_embedded_model.py +++ b/django_mongodb_backend/fields/polymorphic_embedded_model.py @@ -25,7 +25,7 @@ def __init__(self, embedded_models, *args, **kwargs): super().__init__(*args, **kwargs) def db_type(self, connection): - return "embeddedDocuments" + return "object" def check(self, **kwargs): from ..models import EmbeddedModel # noqa: PLC0415 diff --git a/docs/releases/5.2.x.rst b/docs/releases/5.2.x.rst index 47fb16704..54e1e6cb2 100644 --- a/docs/releases/5.2.x.rst +++ b/docs/releases/5.2.x.rst @@ -21,6 +21,8 @@ Bug fixes ``EmbeddedModel``). - Made ``EmbeddedModel`` fields respect :attr:`~django.db.models.Field.db_column`. +- Corrected the search index type of ``EmbeddedModelField`` and + ``PolymorphicEmbeddedModelField`` from ``embeddedDocuments`` to ``document``. Deprecated features ------------------- diff --git a/tests/indexes_/test_search_indexes.py b/tests/indexes_/test_search_indexes.py index 59f2fa532..b418f2a10 100644 --- a/tests/indexes_/test_search_indexes.py +++ b/tests/indexes_/test_search_indexes.py @@ -159,7 +159,7 @@ def test_valid_fields(self): "type": "string", }, "datetime": {"type": "date"}, - "embedded_model": {"dynamic": False, "fields": {}, "type": "embeddedDocuments"}, + "embedded_model": {"dynamic": False, "fields": {}, "type": "document"}, "float": { "indexDoubles": True, "indexIntegers": True, diff --git a/tests/model_fields_/test_embedded_model.py b/tests/model_fields_/test_embedded_model.py index 1a219613f..332cba79b 100644 --- a/tests/model_fields_/test_embedded_model.py +++ b/tests/model_fields_/test_embedded_model.py @@ -30,6 +30,9 @@ class MethodTests(SimpleTestCase): + def test_db_type(self): + self.assertEqual(EmbeddedModelField("Data").db_type(connection), "object") + def test_deconstruct(self): field = EmbeddedModelField("Data", null=True) field.name = "field_name" diff --git a/tests/model_fields_/test_polymorphic_embedded_model.py b/tests/model_fields_/test_polymorphic_embedded_model.py index bf743b22c..5b8850858 100644 --- a/tests/model_fields_/test_polymorphic_embedded_model.py +++ b/tests/model_fields_/test_polymorphic_embedded_model.py @@ -18,6 +18,9 @@ def test_not_editable(self): field = PolymorphicEmbeddedModelField(["Data"], null=True) self.assertIs(field.editable, False) + def test_db_type(self): + self.assertEqual(PolymorphicEmbeddedModelField(["Data"]).db_type(connection), "object") + def test_deconstruct(self): field = PolymorphicEmbeddedModelField(["Data"], null=True) field.name = "field_name"