Skip to content

Commit 7f39307

Browse files
committed
DOCSP-46984: Upcoming features (#19)
* DOCSP-46984: Upcoming features * landing page * edits * shorten * edit intro * edits * fix links * typo * cache * ga and post ga * wording * feedback * wording * verb tense * RR feedback 2 (cherry picked from commit 89d3145)
1 parent 9f018d2 commit 7f39307

File tree

2 files changed

+177
-25
lines changed

2 files changed

+177
-25
lines changed

source/index.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Django MongoDB Backend
1515
Connection Configuration </connect>
1616
Model Your Data </model-data>
1717
Interact with Data </interact-data>
18-
Limitations </limitations>
18+
Limitations & Upcoming Features </limitations-upcoming>
1919
Issues & Help </issues-and-help>
2020
Compatibility </compatibility>
2121
API Documentation <{+api+}>
@@ -56,10 +56,11 @@ Interact with Data
5656
Learn how to use {+django-odm+} to perform operations on MongoDB data
5757
in the :ref:`django-interact-data` section.
5858

59-
Limitations
60-
-----------
59+
Limitations and Upcoming Features
60+
---------------------------------
6161

6262
Learn about the features that {+django-odm+} does not support
63+
and features that we plan to support in upcoming releases
6364
in the :ref:`django-limitations` section.
6465

6566
Compatibility

source/limitations.txt renamed to source/limitations-upcoming.txt

Lines changed: 173 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
.. _django-limitations:
22

3-
============
4-
Limitations
5-
============
3+
=================================
4+
Limitations and Upcoming Features
5+
=================================
66

77
.. contents:: On this page
88
:local:
99
:backlinks: none
10-
:depth: 1
10+
:depth: 2
1111
:class: singlecol
1212

1313
.. facet::
@@ -21,14 +21,32 @@ Overview
2121
--------
2222

2323
On this page, you can find a list of features that
24-
{+django-odm+} does not support. Because {+django-odm+} is in active
25-
development, some features listed on this page might be considered for future
26-
releases based on user demand. You can request support for a feature by leaving
27-
a suggestion on the `Drivers Feedback Forum
24+
{+django-odm+} does not support. You can also find features
25+
currently planned for the General Availability (GA) and post-GA
26+
releases. We will prioritize these upcoming features
27+
based on user demand, and you can request support
28+
for a feature by leaving a suggestion on the `Drivers Feedback Forum
2829
<https://feedback.mongodb.com/forums/924286-drivers?category_id=370732>`__.
2930

31+
Feature Limitations
32+
-------------------
33+
34+
In this section, you can learn about the following
35+
types of unsupported {+framework+} and MongoDB features:
36+
37+
- :ref:`django-limitations-database`
38+
- :ref:`django-limitations-models`
39+
- :ref:`django-limitations-query`
40+
- :ref:`django-limitations-management`
41+
- :ref:`django-limitations-migration`
42+
- :ref:`django-limitations-async`
43+
- :ref:`django-limitations-data`
44+
- :ref:`django-limitations-performance`
45+
46+
.. _django-limitations-database:
47+
3048
Unsupported Database Variables
31-
------------------------------
49+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3250

3351
The following database variables are not supported by {+django-odm+}:
3452

@@ -37,16 +55,18 @@ The following database variables are not supported by {+django-odm+}:
3755
- ``CONN_HEALTH_CHECKS``
3856
- ``TIME_ZONE``
3957

58+
.. _django-limitations-models:
59+
4060
Model Limitations
41-
-----------------
61+
~~~~~~~~~~~~~~~~~
4262

4363
The following limitations apply to models in {+django-odm+}:
4464

4565
- {+django-odm+} enforces a one-to-one mapping between a Django model and a
4666
MongoDB collection. Because of this, multiple models cannot share the same collection.
4767

4868
Indexes
49-
~~~~~~~
69+
```````
5070

5171
{+django-odm+} does not support the following index functionalities:
5272

@@ -59,8 +79,10 @@ To learn how to run unsupported database operations by operating directly on
5979
your ``MongoClient`` instance, see :ref:`django-client-operations` in the
6080
Perform Raw Database Queries guide.
6181

82+
.. _django-limitations-models-fields:
83+
6284
Fields
63-
~~~~~~
85+
``````
6486

6587
{+django-odm+} has the following limitations on the specified field types:
6688

@@ -115,8 +137,10 @@ The following field types are unavailable in {+django-odm+}:
115137
- ``BigAutoField``
116138
- ``SmallAutoField``
117139

140+
.. _django-limitations-query:
141+
118142
Querying Limitations
119-
--------------------
143+
~~~~~~~~~~~~~~~~~~~~
120144

121145
{+django-odm+} does not support the following ``QuerySet`` API methods:
122146

@@ -130,14 +154,14 @@ Querying Limitations
130154
that span multiple collections.
131155

132156
Geospatial Queries
133-
~~~~~~~~~~~~~~~~~~
157+
``````````````````
134158

135159
- {+django-odm+} does not support ``GeoDjango``.
136160
- {+django-odm+} does not have any Django lookup operators for MongoDB-specific
137161
geospatial queries.
138162

139163
Aggregation Operators
140-
~~~~~~~~~~~~~~~~~~~~~
164+
`````````````````````
141165

142166
{+django-odm+} does not contain any custom Django field lookups for the MongoDB
143167
aggregation framework. Instead, use the ``raw_aggregate()`` method. For more
@@ -147,7 +171,7 @@ the :ref:`django-raw-queries` guide.
147171
.. TODO: Link to aggregation
148172

149173
Database Functions
150-
~~~~~~~~~~~~~~~~~~
174+
``````````````````
151175

152176
{+django-odm+} does not support the following database functions:
153177

@@ -166,8 +190,10 @@ Database Functions
166190
The ``tzinfo`` parameter of the ``Trunc`` database functions doesn't work
167191
properly because MongoDB converts the result back to UTC.
168192

193+
.. _django-limitations-management:
194+
169195
Django Management Command Limitations
170-
-------------------------------------
196+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
171197

172198
{+django-odm+} does not support the following Django management commands:
173199

@@ -177,8 +203,10 @@ Django Management Command Limitations
177203
- ``sqlflush``
178204
- ``sqlsequencereset``
179205

206+
.. _django-limitations-migration:
207+
180208
Migration Limitations
181-
---------------------
209+
~~~~~~~~~~~~~~~~~~~~~
182210

183211
- {+django-odm+} does not support enforced schema validation. To learn how to
184212
enforce schema validation in your application, see the :manual:`Specify JSON
@@ -188,24 +216,147 @@ Migration Limitations
188216
<{+django-docs+}/topics/migrations/#transactions>`__.
189217
- {+django-odm+} does not support the ``migrate --fake-initial`` command.
190218

191-
Asynchronous Support
192-
--------------------
219+
.. _django-limitations-async:
220+
221+
Asynchronous Limitations
222+
~~~~~~~~~~~~~~~~~~~~~~~~
193223

194224
{+django-odm+} has not been tested for support of the asynchronous functionality of
195225
the Django API.
196226

227+
.. _django-limitations-data:
228+
197229
Data Types
198-
----------
230+
~~~~~~~~~~
199231

200232
{+django-odm+} does not have a custom ``Field`` class for the ``BSONRegExp``
201233
data type. Instead, use the ``CharField`` class.
202234

235+
.. _django-limitations-performance:
236+
203237
Performance
204-
-----------
238+
~~~~~~~~~~~
205239

206240
The engineering team is prioritizing feature development for the Public Preview
207241
release of {+django-odm+}. Because of this, you might notice performance
208242
limitations with certain workloads. If you encounter any performance issues,
209243
please report them as shown in the :ref:`Issues & Help <django-issues-and-help>`
210244
guide. You can also share your feedback on the `Drivers Feedback Forum
211245
<https://feedback.mongodb.com/forums/924286-drivers?category_id=370732>`__.
246+
247+
General Availability Release Features
248+
-------------------------------------
249+
250+
In this section, you can learn about the following
251+
types of {+framework+} and MongoDB features that
252+
GA and post-GA {+django-odm+} releases will likely introduce:
253+
254+
- :ref:`django-upcoming-mongodb`
255+
- :ref:`django-upcoming-models`
256+
- :ref:`django-upcoming-management`
257+
- :ref:`django-upcoming-third-party`
258+
- :ref:`django-upcoming-variables`
259+
- :ref:`django-upcoming-async`
260+
261+
.. _django-upcoming-mongodb:
262+
263+
MongoDB Features
264+
~~~~~~~~~~~~~~~~
265+
266+
We plan to support the following MongoDB features in
267+
the GA release:
268+
269+
- Programmatic management of Vector Search, Atlas Search,
270+
and geospatial indexes by using the Django API
271+
- Vector Search, Atlas Search, and geospatial queries
272+
by using the Django API
273+
- Queryable Encryption and Client-side Field Level Encryption
274+
- Database transactions
275+
- Storage of cached data in the database
276+
277+
We plan to support the following MongoDB features in
278+
future post-GA releases:
279+
280+
- GridFS for large file storage
281+
- Change streams for data monitoring
282+
- Schema validation
283+
284+
.. tip::
285+
286+
To learn more about the MongoDB features mentioned in this section, see
287+
the following resources:
288+
289+
- :atlas:`Atlas Vector Search </atlas-vector-search/vector-search-overview/>` in the Atlas documentation
290+
- :atlas:`Atlas Search </atlas-search>` in the Atlas documentation
291+
- :manual:`Geospatial Queries </geospatial-queries/>` in the {+mdb-server+}
292+
manual
293+
- :manual:`In-Use Encryption </core/security-in-use-encryption/>` in the {+mdb-server+}
294+
manual
295+
- :manual:`Transactions </core/transactions/>` in the {+mdb-server+}
296+
manual
297+
- :manual:`GridFS </core/gridfs/>` in the {+mdb-server+}
298+
manual
299+
- :manual:`Change Streams </changeStreams/>` in the {+mdb-server+}
300+
manual
301+
302+
.. _django-upcoming-models:
303+
304+
Model Features
305+
~~~~~~~~~~~~~~
306+
307+
We plan to support the following model features in
308+
the GA release:
309+
310+
- Arrays of embedded documents
311+
- Polymorphic embedded documents and arrays
312+
- Application of changes to the embedded model schema to
313+
``EmbeddedModelField`` values
314+
- Multiple models within a collection
315+
- Improved form representation in embedded models
316+
317+
In future post-GA releases, we plan to support a custom ``Field``
318+
class for the ``BSONRegExp`` data type.
319+
320+
.. _django-upcoming-management:
321+
322+
Django Management Command Features
323+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
324+
325+
We plan to support the following Django commands in
326+
the GA release:
327+
328+
- ``dumpdata``
329+
- ``loaddata``
330+
331+
.. _django-upcoming-third-party:
332+
333+
Third Party Features
334+
~~~~~~~~~~~~~~~~~~~~
335+
336+
We plan to support the following third-party features in
337+
the GA release:
338+
339+
- `Django-filter <https://django-filter.readthedocs.io/en/stable/>`__
340+
- `Django Rest Framework <https://www.django-rest-framework.org/>`__
341+
- `Django-allauth <https://docs.allauth.org/en/latest/>`__
342+
- `Wagtail <https://wagtail.org/>`__
343+
- `Django Debug Toolbar <https://django-debug-toolbar.readthedocs.io/en/latest/>`__
344+
345+
.. _django-upcoming-variables:
346+
347+
Database Variable Support
348+
~~~~~~~~~~~~~~~~~~~~~~~~~
349+
350+
We plan to support the following Django variables for configuring
351+
your database connection in future post-GA releases:
352+
353+
- ``CONN_HEALTH_CHECKS``
354+
- ``TIME_ZONE``
355+
356+
.. _django-upcoming-async:
357+
358+
Asynchronous Support
359+
~~~~~~~~~~~~~~~~~~~~
360+
361+
We plan to offer asynchronous support for {+django-odm+} in
362+
future post-GA releases.

0 commit comments

Comments
 (0)