Skip to content

Commit 8c7d03a

Browse files
committed
Correct and copyedit limitations page
1 parent 86e0c33 commit 8c7d03a

File tree

1 file changed

+30
-85
lines changed

1 file changed

+30
-85
lines changed

source/limitations-upcoming.txt

Lines changed: 30 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -33,36 +33,32 @@ 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+}:
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

6763
Indexes
6864
```````
@@ -127,9 +123,7 @@ Fields
127123
The 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
158152
Aggregation 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

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

233205
Performance
@@ -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

258228
MongoDB 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:
299267
Model 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

Comments
 (0)