@@ -33,36 +33,32 @@ Feature Limitations
33
33
In this section, you can learn about the following
34
34
types of unsupported {+framework+} and MongoDB features:
35
35
36
- - :ref:`django-limitations-database `
36
+ - :ref:`django-limitations-transactions `
37
37
- :ref:`django-limitations-models`
38
38
- :ref:`django-limitations-query`
39
39
- :ref:`django-limitations-management`
40
40
- :ref:`django-limitations-migration`
41
- - :ref:`django-limitations-async`
42
- - :ref:`django-limitations-data`
43
41
- :ref:`django-limitations-performance`
44
42
45
- .. _django-limitations-database :
43
+ .. _django-limitations-transactions :
46
44
47
- Unsupported Database Variables
48
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45
+ Transaction management
46
+ ~~~~~~~~~~~~~~~~~~~~~~
49
47
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.
51
50
52
- - ``ATOMIC_REQUESTS``
53
- - ``AUTOCOMMIT``
54
- - ``CONN_HEALTH_CHECKS``
55
- - ``TIME_ZONE``
51
+ Django's transaction management APIs are not supported.
56
52
57
53
.. _django-limitations-models:
58
54
59
55
Model Limitations
60
56
~~~~~~~~~~~~~~~~~
61
57
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.
63
60
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/
66
62
67
63
Indexes
68
64
```````
@@ -127,9 +123,7 @@ Fields
127
123
The following field types are unavailable in {+django-odm+}:
128
124
129
125
- ``GeneratedField``
130
- - ``AutoField``
131
- - ``BigAutoField``
132
- - ``SmallAutoField``
126
+ - ``AutoField`` (including ``BigAutoField`` and ``SmallAutoField``)
133
127
134
128
.. _django-limitations-query:
135
129
@@ -158,12 +152,9 @@ Geospatial Queries
158
152
Aggregation Operators
159
153
`````````````````````
160
154
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.
167
158
168
159
Database Functions
169
160
``````````````````
@@ -187,16 +178,13 @@ properly because MongoDB converts the result back to UTC.
187
178
188
179
.. _django-limitations-management:
189
180
190
- Django Management Command Limitations
191
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
181
+ Unsupported Management Commands
182
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192
183
193
- {+django-odm+} does not support the following Django management commands:
184
+ The following ``django-admin`` management commands are unsupported :
194
185
195
186
- ``createcachetable``
196
187
- ``inspectdb``
197
- - ``optimizemigration``
198
- - ``sqlflush``
199
- - ``sqlsequencereset``
200
188
201
189
.. _django-limitations-migration:
202
190
@@ -212,22 +200,6 @@ Migration Limitations
212
200
- `DDL Transactions <{+django-docs+}/topics/migrations/#transactions>`__.
213
201
- ``migrate --fake-initial`` command.
214
202
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
-
231
203
.. _django-limitations-performance:
232
204
233
205
Performance
@@ -250,16 +222,13 @@ GA and post-GA {+django-odm+} releases will likely introduce:
250
222
- :ref:`django-upcoming-models`
251
223
- :ref:`django-upcoming-management`
252
224
- :ref:`django-upcoming-third-party`
253
- - :ref:`django-upcoming-variables`
254
- - :ref:`django-upcoming-async`
255
225
256
226
.. _django-upcoming-mongodb:
257
227
258
228
MongoDB Features
259
229
~~~~~~~~~~~~~~~~
260
230
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:
263
232
264
233
- Programmatic management of Vector Search, Atlas Search,
265
234
and geospatial indexes by using the Django API
@@ -269,8 +238,7 @@ the GA release:
269
238
- Database transactions
270
239
- Storage of cached data in the database
271
240
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:
274
242
275
243
- GridFS for large file storage
276
244
- Change streams for data monitoring
@@ -299,8 +267,7 @@ future post-GA releases:
299
267
Model Features
300
268
~~~~~~~~~~~~~~
301
269
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:
304
271
305
272
- Arrays of embedded documents
306
273
- Polymorphic embedded documents and arrays
@@ -309,49 +276,27 @@ the GA release:
309
276
- Multiple models within a collection
310
277
- Improved form representation in embedded models
311
278
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.
314
281
315
282
.. _django-upcoming-management:
316
283
317
- Django Management Command Features
318
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
284
+ Management Command Features
285
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
319
286
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.
325
289
326
290
.. _django-upcoming-third-party:
327
291
328
- Third Party Features
329
- ~~~~~~~~~~~~~~~~~~~~
292
+ Third- Party Libraries
293
+ ~~~~~~~~~~~~~~~~~~~~~
330
294
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:
333
297
334
298
- `Django-filter <https://django-filter.readthedocs.io/en/stable/>`__
335
299
- `Django Rest Framework <https://www.django-rest-framework.org/>`__
336
300
- `Django-allauth <https://docs.allauth.org/en/latest/>`__
337
301
- `Wagtail <https://wagtail.org/>`__
338
302
- `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