@@ -33,36 +33,31 @@ 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+}:
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.
66
61
67
62
Indexes
68
63
```````
@@ -127,9 +122,7 @@ Fields
127
122
The following field types are unavailable in {+django-odm+}:
128
123
129
124
- ``GeneratedField``
130
- - ``AutoField``
131
- - ``BigAutoField``
132
- - ``SmallAutoField``
125
+ - ``AutoField`` (including ``BigAutoField`` and ``SmallAutoField``)
133
126
134
127
.. _django-limitations-query:
135
128
@@ -158,12 +151,9 @@ Geospatial Queries
158
151
Aggregation Operators
159
152
`````````````````````
160
153
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.
167
157
168
158
Database Functions
169
159
``````````````````
@@ -187,16 +177,13 @@ properly because MongoDB converts the result back to UTC.
187
177
188
178
.. _django-limitations-management:
189
179
190
- Django Management Command Limitations
191
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
180
+ Unsupported Management Commands
181
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192
182
193
- {+django-odm+} does not support the following Django management commands:
183
+ The following ``django-admin`` commands are unsupported :
194
184
195
185
- ``createcachetable``
196
186
- ``inspectdb``
197
- - ``optimizemigration``
198
- - ``sqlflush``
199
- - ``sqlsequencereset``
200
187
201
188
.. _django-limitations-migration:
202
189
@@ -210,23 +197,7 @@ Migration Limitations
210
197
Schema Validation </core/schema-validation/specify-json-schema/>` guide in the
211
198
{+mdb-server+} manual.
212
199
- `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.
230
201
231
202
.. _django-limitations-performance:
232
203
@@ -250,16 +221,13 @@ GA and post-GA {+django-odm+} releases will likely introduce:
250
221
- :ref:`django-upcoming-models`
251
222
- :ref:`django-upcoming-management`
252
223
- :ref:`django-upcoming-third-party`
253
- - :ref:`django-upcoming-variables`
254
- - :ref:`django-upcoming-async`
255
224
256
225
.. _django-upcoming-mongodb:
257
226
258
227
MongoDB Features
259
228
~~~~~~~~~~~~~~~~
260
229
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:
263
231
264
232
- Programmatic management of Vector Search, Atlas Search,
265
233
and geospatial indexes by using the Django API
@@ -269,8 +237,7 @@ the GA release:
269
237
- Database transactions
270
238
- Storage of cached data in the database
271
239
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:
274
241
275
242
- GridFS for large file storage
276
243
- Change streams for data monitoring
@@ -299,8 +266,7 @@ future post-GA releases:
299
266
Model Features
300
267
~~~~~~~~~~~~~~
301
268
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:
304
270
305
271
- Arrays of embedded documents
306
272
- Polymorphic embedded documents and arrays
@@ -309,49 +275,27 @@ the GA release:
309
275
- Multiple models within a collection
310
276
- Improved form representation in embedded models
311
277
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.
314
280
315
281
.. _django-upcoming-management:
316
282
317
- Django Management Command Features
318
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
283
+ Management Command Features
284
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
319
285
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.
325
288
326
289
.. _django-upcoming-third-party:
327
290
328
- Third Party Features
329
- ~~~~~~~~~~~~~~~~~~~~
291
+ Third- Party Libraries
292
+ ~~~~~~~~~~~~~~~~~~~~~
330
293
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:
333
296
334
297
- `Django-filter <https://django-filter.readthedocs.io/en/stable/>`__
335
298
- `Django Rest Framework <https://www.django-rest-framework.org/>`__
336
299
- `Django-allauth <https://docs.allauth.org/en/latest/>`__
337
300
- `Wagtail <https://wagtail.org/>`__
338
301
- `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