Skip to content

Commit acd2e5a

Browse files
timgrahamnorareidy
authored andcommitted
Correct and copyedit limitations page
(cherry picked from commit de6d4d7)
1 parent fcadab8 commit acd2e5a

File tree

1 file changed

+31
-87
lines changed

1 file changed

+31
-87
lines changed

source/limitations-upcoming.txt

Lines changed: 31 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -33,36 +33,31 @@ Feature Limitations
3333
In this section, you can learn about the following
3434
types 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

5955
Model 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

6762
Indexes
6863
```````
@@ -127,9 +122,7 @@ Fields
127122
The 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
158151
Aggregation 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

168158
Database 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

258227
MongoDB 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:
299266
Model 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

Comments
 (0)