@@ -34,36 +34,32 @@ Feature Limitations
34
34
In this section, you can learn about the following
35
35
types of unsupported {+framework+} and MongoDB features:
36
36
37
- - :ref:`django-limitations-database `
37
+ - :ref:`django-limitations-transactions `
38
38
- :ref:`django-limitations-models`
39
39
- :ref:`django-limitations-query`
40
40
- :ref:`django-limitations-management`
41
41
- :ref:`django-limitations-migration`
42
- - :ref:`django-limitations-async`
43
- - :ref:`django-limitations-data`
44
42
- :ref:`django-limitations-performance`
45
43
46
- .. _django-limitations-database :
44
+ .. _django-limitations-transactions :
47
45
48
- Unsupported Database Variables
49
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46
+ Transaction management
47
+ ~~~~~~~~~~~~~~~~~~~~~~
50
48
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.
52
51
53
- - ``ATOMIC_REQUESTS``
54
- - ``AUTOCOMMIT``
55
- - ``CONN_HEALTH_CHECKS``
56
- - ``TIME_ZONE``
52
+ Django's transaction management APIs are not supported.
57
53
58
54
.. _django-limitations-models:
59
55
60
56
Model Limitations
61
57
~~~~~~~~~~~~~~~~~
62
58
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.
64
61
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/
67
63
68
64
Indexes
69
65
```````
@@ -121,16 +117,14 @@ Fields
121
117
``$lookup`` operations, see the :atlas:`Reduce $lookup Operations
122
118
</schema-suggestions/reduce-lookup-operations/>` guide in the Atlas
123
119
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>`__
125
121
on a ``ForeignKey`` field is not as performant as using an
126
122
``EmbeddedModelField``.
127
123
128
124
The following field types are unavailable in {+django-odm+}:
129
125
130
126
- ``GeneratedField``
131
- - ``AutoField``
132
- - ``BigAutoField``
133
- - ``SmallAutoField``
127
+ - ``AutoField`` (including ``BigAutoField`` and ``SmallAutoField``)
134
128
135
129
.. _django-limitations-query:
136
130
@@ -159,12 +153,9 @@ Geospatial Queries
159
153
Aggregation Operators
160
154
`````````````````````
161
155
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.
168
159
169
160
Database Functions
170
161
``````````````````
@@ -188,16 +179,13 @@ properly because MongoDB converts the result back to UTC.
188
179
189
180
.. _django-limitations-management:
190
181
191
- Django Management Command Limitations
192
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
182
+ Unsupported Management Commands
183
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
193
184
194
- {+django-odm+} does not support the following Django management commands:
185
+ The following ``django-admin`` management commands are unsupported :
195
186
196
187
- ``createcachetable``
197
188
- ``inspectdb``
198
- - ``optimizemigration``
199
- - ``sqlflush``
200
- - ``sqlsequencereset``
201
189
202
190
.. _django-limitations-migration:
203
191
@@ -213,22 +201,6 @@ Migration Limitations
213
201
- `DDL Transactions <{+django-docs+}/topics/migrations/#transactions>`__.
214
202
- ``migrate --fake-initial`` command.
215
203
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
-
232
204
.. _django-limitations-performance:
233
205
234
206
Performance
@@ -245,23 +217,20 @@ General Availability Release Features
245
217
-------------------------------------
246
218
247
219
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
249
221
GA and post-GA {+django-odm+} releases will likely introduce:
250
222
251
223
- :ref:`django-upcoming-mongodb`
252
224
- :ref:`django-upcoming-models`
253
225
- :ref:`django-upcoming-management`
254
226
- :ref:`django-upcoming-third-party`
255
- - :ref:`django-upcoming-variables`
256
- - :ref:`django-upcoming-async`
257
227
258
228
.. _django-upcoming-mongodb:
259
229
260
230
MongoDB Features
261
231
~~~~~~~~~~~~~~~~
262
232
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:
265
234
266
235
- Programmatic management of Vector Search, Atlas Search,
267
236
and geospatial indexes by using the Django API
@@ -271,8 +240,7 @@ the GA release:
271
240
- Database transactions
272
241
- Storage of cached data in the database
273
242
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:
276
244
277
245
- GridFS for large file storage
278
246
- Change streams for data monitoring
@@ -301,8 +269,7 @@ future post-GA releases:
301
269
Model Features
302
270
~~~~~~~~~~~~~~
303
271
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:
306
273
307
274
- Arrays of embedded documents
308
275
- Polymorphic embedded documents and arrays
@@ -311,49 +278,27 @@ the GA release:
311
278
- Multiple models within a collection
312
279
- Improved form representation in embedded models
313
280
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.
316
283
317
284
.. _django-upcoming-management:
318
285
319
- Django Management Command Features
320
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
286
+ Management Command Features
287
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
321
288
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.
327
291
328
292
.. _django-upcoming-third-party:
329
293
330
- Third Party Features
331
- ~~~~~~~~~~~~~~~~~~~~
294
+ Third- Party Libraries
295
+ ~~~~~~~~~~~~~~~~~~~~~
332
296
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:
335
299
336
300
- `Django-filter <https://django-filter.readthedocs.io/en/stable/>`__
337
301
- `Django Rest Framework <https://www.django-rest-framework.org/>`__
338
302
- `Django-allauth <https://docs.allauth.org/en/latest/>`__
339
303
- `Wagtail <https://wagtail.org/>`__
340
304
- `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