@@ -33,36 +33,32 @@ 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+}:
58+ Django doesn't support MongoDB's `polymorphic pattern`_ where slightly
59+ different models share the same collection.
6360
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.
61+ .._ polymorphic pattern: https://www.mongodb.com/developer/products/mongodb/polymorphic-pattern/
6662
6763Indexes
6864```````
@@ -127,9 +123,7 @@ Fields
127123The following field types are unavailable in {+django-odm+}:
128124
129125- ``GeneratedField``
130- - ``AutoField``
131- - ``BigAutoField``
132- - ``SmallAutoField``
126+ - ``AutoField`` (including ``BigAutoField`` and ``SmallAutoField``)
133127
134128.. _django-limitations-query:
135129
@@ -158,12 +152,9 @@ Geospatial Queries
158152Aggregation Operators
159153`````````````````````
160154
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
155+ {+django-odm+} does not include any custom Django field lookups for the MongoDB
156+ aggregation framework. Instead, use the ``raw_aggregate()`` method. See the
157+ :ref:`django-raw-queries` guide.
167158
168159Database Functions
169160``````````````````
@@ -187,16 +178,13 @@ properly because MongoDB converts the result back to UTC.
187178
188179.. _django-limitations-management:
189180
190- Django Management Command Limitations
191- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
181+ Unsupported Management Commands
182+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192183
193- {+django-odm+} does not support the following Django management commands:
184+ The following ``django-admin`` management commands are unsupported :
194185
195186- ``createcachetable``
196187- ``inspectdb``
197- - ``optimizemigration``
198- - ``sqlflush``
199- - ``sqlsequencereset``
200188
201189.. _django-limitations-migration:
202190
@@ -212,22 +200,6 @@ Migration Limitations
212200- `DDL Transactions <{+django-docs+}/topics/migrations/#transactions>`__.
213201- ``migrate --fake-initial`` command.
214202
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.
230-
231203.. _django-limitations-performance:
232204
233205Performance
@@ -250,16 +222,13 @@ GA and post-GA {+django-odm+} releases will likely introduce:
250222- :ref:`django-upcoming-models`
251223- :ref:`django-upcoming-management`
252224- :ref:`django-upcoming-third-party`
253- - :ref:`django-upcoming-variables`
254- - :ref:`django-upcoming-async`
255225
256226.. _django-upcoming-mongodb:
257227
258228MongoDB Features
259229~~~~~~~~~~~~~~~~
260230
261- We plan to support the following MongoDB features in
262- the GA release:
231+ We plan to support the following MongoDB features in the GA release:
263232
264233- Programmatic management of Vector Search, Atlas Search,
265234 and geospatial indexes by using the Django API
@@ -269,8 +238,7 @@ the GA release:
269238- Database transactions
270239- Storage of cached data in the database
271240
272- We plan to support the following MongoDB features in
273- future post-GA releases:
241+ We plan to support the following MongoDB features in future post-GA releases:
274242
275243- GridFS for large file storage
276244- Change streams for data monitoring
@@ -299,8 +267,7 @@ future post-GA releases:
299267Model Features
300268~~~~~~~~~~~~~~
301269
302- We plan to support the following model features in
303- the GA release:
270+ We plan to support the following model features in the GA release:
304271
305272- Arrays of embedded documents
306273- Polymorphic embedded documents and arrays
@@ -309,49 +276,27 @@ the GA release:
309276- Multiple models within a collection
310277- Improved form representation in embedded models
311278
312- In future post-GA releases , we plan to support a custom ``Field``
313- class for the ``BSONRegExp`` data type.
279+ In a future post-GA release , we plan to add a custom model field for the
280+ ``BSONRegExp`` data type.
314281
315282.. _django-upcoming-management:
316283
317- Django Management Command Features
318- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
284+ Management Command Features
285+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
319286
320- We plan to support the following Django commands in
321- the GA release:
322-
323- - ``dumpdata``
324- - ``loaddata``
287+ Serialization support for ``EmbeddedModelField`` (i.e. Django's `dumpdata`` and
288+ ``loaddata`` management commands) will be added by the GA release.
325289
326290.. _django-upcoming-third-party:
327291
328- Third Party Features
329- ~~~~~~~~~~~~~~~~~~~~
292+ Third- Party Libraries
293+ ~~~~~~~~~~~~~~~~~~~~~
330294
331- We plan to support the following third-party features in
332- the GA release:
295+ We plan to test compatibility with the following third-party libraries by the
296+ GA release:
333297
334298- `Django-filter <https://django-filter.readthedocs.io/en/stable/>`__
335299- `Django Rest Framework <https://www.django-rest-framework.org/>`__
336300- `Django-allauth <https://docs.allauth.org/en/latest/>`__
337301- `Wagtail <https://wagtail.org/>`__
338302- `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