@@ -33,36 +33,31 @@ Feature Limitations
3333In this section, you can learn about the following
3434types of unsupported {+framework+} and MongoDB features:
3535
36- - :ref:`django-limitations-database `
36+ - :ref:`django-limitations-transactions `
3737- :ref:`django-limitations-models`
3838- :ref:`django-limitations-query`
3939- :ref:`django-limitations-management`
4040- :ref:`django-limitations-migration`
41- - :ref:`django-limitations-async`
42- - :ref:`django-limitations-data`
4341- :ref:`django-limitations-performance`
4442
45- .. _django-limitations-database :
43+ .. _django-limitations-transactions :
4644
47- Unsupported Database Variables
48- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45+ Transaction management
46+ ~~~~~~~~~~~~~~~~~~~~~~
4947
50- The following database variables are not supported by {+django-odm+}:
48+ Query execution uses Django and MongoDB's default behavior of autocommit mode.
49+ Each query is immediately committed to the database.
5150
52- - ``ATOMIC_REQUESTS``
53- - ``AUTOCOMMIT``
54- - ``CONN_HEALTH_CHECKS``
55- - ``TIME_ZONE``
51+ Django's transaction management APIs are not supported.
5652
5753.. _django-limitations-models:
5854
5955Model Limitations
6056~~~~~~~~~~~~~~~~~
6157
62- The following limitations apply to models in {+django-odm+}:
63-
64- - {+django-odm+} enforces a one-to-one mapping between a Django model and a
65- MongoDB collection. Because of this, multiple models cannot share the same collection.
58+ Django doesn't support MongoDB's `polymorphic pattern
59+ <https://www.mongodb.com/developer/products/mongodb/polymorphic-pattern/>`__
60+ where slightly different models share the same collection.
6661
6762Indexes
6863```````
@@ -127,9 +122,7 @@ Fields
127122The following field types are unavailable in {+django-odm+}:
128123
129124- ``GeneratedField``
130- - ``AutoField``
131- - ``BigAutoField``
132- - ``SmallAutoField``
125+ - ``AutoField`` (including ``BigAutoField`` and ``SmallAutoField``)
133126
134127.. _django-limitations-query:
135128
@@ -158,12 +151,9 @@ Geospatial Queries
158151Aggregation Operators
159152`````````````````````
160153
161- {+django-odm+} does not contain any custom Django field lookups for the MongoDB
162- aggregation framework. Instead, use the ``raw_aggregate()`` method. For more
163- information on the ``raw_aggregate()`` method, see
164- the :ref:`django-raw-queries` guide.
165-
166- .. TODO: Link to aggregation
154+ {+django-odm+} does not include any custom Django field lookups for the MongoDB
155+ aggregation framework. Instead, use the ``raw_aggregate()`` method. See the
156+ :ref:`django-raw-queries` guide.
167157
168158Database Functions
169159``````````````````
@@ -187,16 +177,13 @@ properly because MongoDB converts the result back to UTC.
187177
188178.. _django-limitations-management:
189179
190- Django Management Command Limitations
191- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
180+ Unsupported Management Commands
181+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192182
193- {+django-odm+} does not support the following Django management commands:
183+ The following ``django-admin`` commands are unsupported :
194184
195185- ``createcachetable``
196186- ``inspectdb``
197- - ``optimizemigration``
198- - ``sqlflush``
199- - ``sqlsequencereset``
200187
201188.. _django-limitations-migration:
202189
@@ -210,23 +197,7 @@ Migration Limitations
210197 Schema Validation </core/schema-validation/specify-json-schema/>` guide in the
211198 {+mdb-server+} manual.
212199- `DDL Transactions <{+django-docs+}/topics/migrations/#transactions>`__.
213- - ``migrate --fake-initial`` command.
214-
215- .. _django-limitations-async:
216-
217- Asynchronous Limitations
218- ~~~~~~~~~~~~~~~~~~~~~~~~
219-
220- {+django-odm+} has not been tested for support of the asynchronous functionality of
221- the Django API.
222-
223- .. _django-limitations-data:
224-
225- Data Types
226- ~~~~~~~~~~
227-
228- {+django-odm+} does not have a custom ``Field`` class for the ``BSONRegExp``
229- data type. Instead, use the ``CharField`` class.
200+ - The ``migrate --fake-initial`` option.
230201
231202.. _django-limitations-performance:
232203
@@ -250,16 +221,13 @@ GA and post-GA {+django-odm+} releases will likely introduce:
250221- :ref:`django-upcoming-models`
251222- :ref:`django-upcoming-management`
252223- :ref:`django-upcoming-third-party`
253- - :ref:`django-upcoming-variables`
254- - :ref:`django-upcoming-async`
255224
256225.. _django-upcoming-mongodb:
257226
258227MongoDB Features
259228~~~~~~~~~~~~~~~~
260229
261- We plan to support the following MongoDB features in
262- the GA release:
230+ We plan to support the following MongoDB features in the GA release:
263231
264232- Programmatic management of Vector Search, Atlas Search,
265233 and geospatial indexes by using the Django API
@@ -269,8 +237,7 @@ the GA release:
269237- Database transactions
270238- Storage of cached data in the database
271239
272- We plan to support the following MongoDB features in
273- future post-GA releases:
240+ We plan to support the following MongoDB features in future post-GA releases:
274241
275242- GridFS for large file storage
276243- Change streams for data monitoring
@@ -299,8 +266,7 @@ future post-GA releases:
299266Model Features
300267~~~~~~~~~~~~~~
301268
302- We plan to support the following model features in
303- the GA release:
269+ We plan to support the following model features in the GA release:
304270
305271- Arrays of embedded documents
306272- Polymorphic embedded documents and arrays
@@ -309,49 +275,27 @@ the GA release:
309275- Multiple models within a collection
310276- Improved form representation in embedded models
311277
312- In future post-GA releases , we plan to support a custom ``Field``
313- class for the ``BSONRegExp`` data type.
278+ In a future post-GA release , we plan to add a custom model field for the
279+ ``BSONRegExp`` data type.
314280
315281.. _django-upcoming-management:
316282
317- Django Management Command Features
318- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
283+ Management Command Features
284+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
319285
320- We plan to support the following Django commands in
321- the GA release:
322-
323- - ``dumpdata``
324- - ``loaddata``
286+ Serialization support for ``EmbeddedModelField`` (i.e. Django's ``dumpdata``
287+ and ``loaddata`` management commands) will be added by the GA release.
325288
326289.. _django-upcoming-third-party:
327290
328- Third Party Features
329- ~~~~~~~~~~~~~~~~~~~~
291+ Third- Party Libraries
292+ ~~~~~~~~~~~~~~~~~~~~~
330293
331- We plan to support the following third-party features in
332- the GA release:
294+ We plan to test compatibility with the following third-party libraries by the
295+ GA release:
333296
334297- `Django-filter <https://django-filter.readthedocs.io/en/stable/>`__
335298- `Django Rest Framework <https://www.django-rest-framework.org/>`__
336299- `Django-allauth <https://docs.allauth.org/en/latest/>`__
337300- `Wagtail <https://wagtail.org/>`__
338301- `Django Debug Toolbar <https://django-debug-toolbar.readthedocs.io/en/latest/>`__
339-
340- .. _django-upcoming-variables:
341-
342- Database Variable Support
343- ~~~~~~~~~~~~~~~~~~~~~~~~~
344-
345- We plan to support the following Django variables for configuring
346- your database connection in future post-GA releases:
347-
348- - ``CONN_HEALTH_CHECKS``
349- - ``TIME_ZONE``
350-
351- .. _django-upcoming-async:
352-
353- Asynchronous Support
354- ~~~~~~~~~~~~~~~~~~~~
355-
356- We plan to offer asynchronous support for {+django-odm+} in
357- future post-GA releases.
0 commit comments