Skip to content

Commit 4da9095

Browse files
committed
Correct and copyedit limitations page
1 parent 3cb7ac7 commit 4da9095

File tree

1 file changed

+32
-87
lines changed

1 file changed

+32
-87
lines changed

source/limitations-upcoming.txt

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

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

6864
Indexes
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

128124
The 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
159153
Aggregation 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

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

234206
Performance
@@ -245,23 +217,20 @@ General Availability Release Features
245217
-------------------------------------
246218

247219
In this section, you can learn about the following
248-
types of {+framework+} and MongoDB features that
220+
types of {+framework+} and MongoDB features that
249221
GA 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

260230
MongoDB 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:
301269
Model 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

Comments
 (0)