@@ -34,36 +34,32 @@ Feature Limitations
3434In this section, you can learn about the following
3535types of unsupported {+framework+} and MongoDB features:
3636
37- - :ref:`django-limitations-database `
37+ - :ref:`django-limitations-transactions `
3838- :ref:`django-limitations-models`
3939- :ref:`django-limitations-query`
4040- :ref:`django-limitations-management`
4141- :ref:`django-limitations-migration`
42- - :ref:`django-limitations-async`
43- - :ref:`django-limitations-data`
4442- :ref:`django-limitations-performance`
4543
46- .. _django-limitations-database :
44+ .. _django-limitations-transactions :
4745
48- Unsupported Database Variables
49- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46+ Transaction management
47+ ~~~~~~~~~~~~~~~~~~~~~~
5048
51- The following database variables are not supported by {+django-odm+}:
49+ Query execution uses Django and MongoDB's default behavior of autocommit mode.
50+ Each query is immediately committed to the database.
5251
53- - ``ATOMIC_REQUESTS``
54- - ``AUTOCOMMIT``
55- - ``CONN_HEALTH_CHECKS``
56- - ``TIME_ZONE``
52+ Django's transaction management APIs are not supported.
5753
5854.. _django-limitations-models:
5955
6056Model Limitations
6157~~~~~~~~~~~~~~~~~
6258
63- The following limitations apply to models in {+django-odm+}:
59+ Django doesn't support MongoDB's `polymorphic pattern`_ where slightly
60+ different models share the same collection.
6461
65- - {+django-odm+} enforces a one-to-one mapping between a Django model and a
66- MongoDB collection. Because of this, multiple models cannot share the same collection.
62+ .._ polymorphic pattern: https://www.mongodb.com/developer/products/mongodb/polymorphic-pattern/
6763
6864Indexes
6965```````
@@ -121,16 +117,14 @@ Fields
121117 ``$lookup`` operations, see the :atlas:`Reduce $lookup Operations
122118 </schema-suggestions/reduce-lookup-operations/>` guide in the Atlas
123119 documentation.
124- - Performance of `CASCADE deletes <{+django-docs+}/ref/models/fields/#django.db.models.CASCADE>`__
120+ - Performance of `CASCADE deletes <{+django-docs+}/ref/models/fields/#django.db.models.CASCADE>`__
125121 on a ``ForeignKey`` field is not as performant as using an
126122 ``EmbeddedModelField``.
127123
128124The following field types are unavailable in {+django-odm+}:
129125
130126- ``GeneratedField``
131- - ``AutoField``
132- - ``BigAutoField``
133- - ``SmallAutoField``
127+ - ``AutoField`` (including ``BigAutoField`` and ``SmallAutoField``)
134128
135129.. _django-limitations-query:
136130
@@ -159,12 +153,9 @@ Geospatial Queries
159153Aggregation Operators
160154`````````````````````
161155
162- {+django-odm+} does not contain any custom Django field lookups for the MongoDB
163- aggregation framework. Instead, use the ``raw_aggregate()`` method. For more
164- information on the ``raw_aggregate()`` method, see
165- the :ref:`django-raw-queries` guide.
166-
167- .. TODO: Link to aggregation
156+ {+django-odm+} does not include any custom Django field lookups for the MongoDB
157+ aggregation framework. Instead, use the ``raw_aggregate()`` method. See the
158+ :ref:`django-raw-queries` guide.
168159
169160Database Functions
170161``````````````````
@@ -188,16 +179,13 @@ properly because MongoDB converts the result back to UTC.
188179
189180.. _django-limitations-management:
190181
191- Django Management Command Limitations
192- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
182+ Unsupported Management Commands
183+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
193184
194- {+django-odm+} does not support the following Django management commands:
185+ The following ``django-admin`` management commands are unsupported :
195186
196187- ``createcachetable``
197188- ``inspectdb``
198- - ``optimizemigration``
199- - ``sqlflush``
200- - ``sqlsequencereset``
201189
202190.. _django-limitations-migration:
203191
@@ -213,22 +201,6 @@ Migration Limitations
213201- `DDL Transactions <{+django-docs+}/topics/migrations/#transactions>`__.
214202- ``migrate --fake-initial`` command.
215203
216- .. _django-limitations-async:
217-
218- Asynchronous Limitations
219- ~~~~~~~~~~~~~~~~~~~~~~~~
220-
221- {+django-odm+} has not been tested for support of the asynchronous functionality of
222- the Django API.
223-
224- .. _django-limitations-data:
225-
226- Data Types
227- ~~~~~~~~~~
228-
229- {+django-odm+} does not have a custom ``Field`` class for the ``BSONRegExp``
230- data type. Instead, use the ``CharField`` class.
231-
232204.. _django-limitations-performance:
233205
234206Performance
@@ -245,23 +217,20 @@ General Availability Release Features
245217-------------------------------------
246218
247219In this section, you can learn about the following
248- types of {+framework+} and MongoDB features that
220+ types of {+framework+} and MongoDB features that
249221GA and post-GA {+django-odm+} releases will likely introduce:
250222
251223- :ref:`django-upcoming-mongodb`
252224- :ref:`django-upcoming-models`
253225- :ref:`django-upcoming-management`
254226- :ref:`django-upcoming-third-party`
255- - :ref:`django-upcoming-variables`
256- - :ref:`django-upcoming-async`
257227
258228.. _django-upcoming-mongodb:
259229
260230MongoDB Features
261231~~~~~~~~~~~~~~~~
262232
263- We plan to support the following MongoDB features in
264- the GA release:
233+ We plan to support the following MongoDB features in the GA release:
265234
266235- Programmatic management of Vector Search, Atlas Search,
267236 and geospatial indexes by using the Django API
@@ -271,8 +240,7 @@ the GA release:
271240- Database transactions
272241- Storage of cached data in the database
273242
274- We plan to support the following MongoDB features in
275- future post-GA releases:
243+ We plan to support the following MongoDB features in future post-GA releases:
276244
277245- GridFS for large file storage
278246- Change streams for data monitoring
@@ -301,8 +269,7 @@ future post-GA releases:
301269Model Features
302270~~~~~~~~~~~~~~
303271
304- We plan to support the following model features in
305- the GA release:
272+ We plan to support the following model features in the GA release:
306273
307274- Arrays of embedded documents
308275- Polymorphic embedded documents and arrays
@@ -311,49 +278,27 @@ the GA release:
311278- Multiple models within a collection
312279- Improved form representation in embedded models
313280
314- In future post-GA releases , we plan to support a custom ``Field``
315- class for the ``BSONRegExp`` data type.
281+ In a future post-GA release , we plan to add a custom model field for the
282+ ``BSONRegExp`` data type.
316283
317284.. _django-upcoming-management:
318285
319- Django Management Command Features
320- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
286+ Management Command Features
287+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
321288
322- We plan to support the following Django commands in
323- the GA release:
324-
325- - ``dumpdata``
326- - ``loaddata``
289+ Serialization support for ``EmbeddedModelField`` (i.e. Django's `dumpdata`` and
290+ ``loaddata`` management commands) will be added by the GA release.
327291
328292.. _django-upcoming-third-party:
329293
330- Third Party Features
331- ~~~~~~~~~~~~~~~~~~~~
294+ Third- Party Libraries
295+ ~~~~~~~~~~~~~~~~~~~~~
332296
333- We plan to support the following third-party features in
334- the GA release:
297+ We plan to test compatibility with the following third-party libraries by the
298+ GA release:
335299
336300- `Django-filter <https://django-filter.readthedocs.io/en/stable/>`__
337301- `Django Rest Framework <https://www.django-rest-framework.org/>`__
338302- `Django-allauth <https://docs.allauth.org/en/latest/>`__
339303- `Wagtail <https://wagtail.org/>`__
340304- `Django Debug Toolbar <https://django-debug-toolbar.readthedocs.io/en/latest/>`__
341-
342- .. _django-upcoming-variables:
343-
344- Database Variable Support
345- ~~~~~~~~~~~~~~~~~~~~~~~~~
346-
347- We plan to support the following Django variables for configuring
348- your database connection in future post-GA releases:
349-
350- - ``CONN_HEALTH_CHECKS``
351- - ``TIME_ZONE``
352-
353- .. _django-upcoming-async:
354-
355- Asynchronous Support
356- ~~~~~~~~~~~~~~~~~~~~
357-
358- We plan to offer asynchronous support for {+django-odm+} in
359- future post-GA releases.
0 commit comments