-
Notifications
You must be signed in to change notification settings - Fork 7
DOCSP-46984: Upcoming features #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
norareidy
merged 15 commits into
mongodb:master
from
norareidy:DOCSP-46984-upcoming-features
Feb 3, 2025
Merged
Changes from 1 commit
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
bbe4b91
DOCSP-46984: Upcoming features
norareidy 93ad7e8
landing page
norareidy d80456f
edits
norareidy fe105a0
shorten
norareidy 4d388c4
edit intro
norareidy 2a1fa3e
edits
norareidy 442d453
fix links
norareidy b9183d7
typo
norareidy 9ebae73
cache
norareidy 5e29f7f
ga and post ga
norareidy 7f0e722
wording
norareidy 088c58c
feedback
norareidy f7f27c4
wording
norareidy a0a89fb
verb tense
norareidy d307fa0
RR feedback 2
norareidy File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
.. _django-limitations: | ||
|
||
============ | ||
Limitations | ||
============ | ||
================================= | ||
Limitations and Upcoming Features | ||
================================= | ||
|
||
.. contents:: On this page | ||
:local: | ||
|
@@ -27,8 +27,28 @@ releases based on user demand. You can request support for a feature by leaving | |
a suggestion on the `Drivers Feedback Forum | ||
<https://feedback.mongodb.com/forums/924286-drivers?category_id=370732>`__. | ||
|
||
You can also find a list of features that {+django-odm+} | ||
will likely support in upcoming releases. | ||
|
||
Feature Limitations | ||
------------------- | ||
|
||
In this section, you can learn about the following | ||
types of unsupported {+framework+} and MongoDB features: | ||
|
||
- :ref:`django-limitations-database` | ||
- :ref:`django-limitations-models` | ||
- :ref:`django-limitations-query` | ||
- :ref:`django-limitations-management` | ||
- :ref:`django-limitations-migration` | ||
- :ref:`django-limitations-async` | ||
- :ref:`django-limitations-data` | ||
- :ref:`django-limitations-performance` | ||
|
||
.. _django-limitations-database: | ||
|
||
Unsupported Database Variables | ||
------------------------------ | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
The following database variables are not supported by {+django-odm+}: | ||
|
||
|
@@ -37,16 +57,18 @@ The following database variables are not supported by {+django-odm+}: | |
- ``CONN_HEALTH_CHECKS`` | ||
- ``TIME_ZONE`` | ||
|
||
.. _django-limitations-models: | ||
|
||
Model Limitations | ||
----------------- | ||
~~~~~~~~~~~~~~~~~ | ||
|
||
The following limitations apply to models in {+django-odm+}: | ||
|
||
- {+django-odm+} enforces a one-to-one mapping between a Django model and a | ||
MongoDB collection. Because of this, multiple models cannot share the same collection. | ||
|
||
Indexes | ||
~~~~~~~ | ||
``````` | ||
|
||
{+django-odm+} does not support the following index functionalities: | ||
|
||
|
@@ -59,8 +81,10 @@ To learn how to run unsupported database operations by operating directly on | |
your ``MongoClient`` instance, see :ref:`django-client-operations` in the | ||
Perform Raw Database Queries guide. | ||
|
||
.. _django-limitations-models-fields: | ||
|
||
Fields | ||
~~~~~~ | ||
`````` | ||
|
||
{+django-odm+} has the following limitations on the specified field types: | ||
|
||
|
@@ -115,8 +139,10 @@ The following field types are unavailable in {+django-odm+}: | |
- ``BigAutoField`` | ||
- ``SmallAutoField`` | ||
|
||
.. _django-limitations-query: | ||
|
||
Querying Limitations | ||
-------------------- | ||
~~~~~~~~~~~~~~~~~~~~ | ||
|
||
{+django-odm+} does not support the following ``QuerySet`` API methods: | ||
|
||
|
@@ -130,14 +156,14 @@ Querying Limitations | |
that span multiple collections. | ||
|
||
Geospatial Queries | ||
~~~~~~~~~~~~~~~~~~ | ||
`````````````````` | ||
|
||
- {+django-odm+} does not support ``GeoDjango``. | ||
- {+django-odm+} does not have any Django lookup operators for MongoDB-specific | ||
geospatial queries. | ||
|
||
Aggregation Operators | ||
~~~~~~~~~~~~~~~~~~~~~ | ||
````````````````````` | ||
|
||
{+django-odm+} does not contain any custom Django field lookups for the MongoDB | ||
aggregation framework. Instead, use the ``raw_aggregate()`` method. For more | ||
|
@@ -147,7 +173,7 @@ the :ref:`django-raw-queries` guide. | |
.. TODO: Link to aggregation | ||
|
||
Database Functions | ||
~~~~~~~~~~~~~~~~~~ | ||
`````````````````` | ||
|
||
{+django-odm+} does not support the following database functions: | ||
|
||
|
@@ -166,8 +192,10 @@ Database Functions | |
The ``tzinfo`` parameter of the ``Trunc`` database functions doesn't work | ||
properly because MongoDB converts the result back to UTC. | ||
|
||
.. _django-limitations-management: | ||
|
||
Django Management Command Limitations | ||
------------------------------------- | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
{+django-odm+} does not support the following Django management commands: | ||
|
||
|
@@ -177,8 +205,10 @@ Django Management Command Limitations | |
- ``sqlflush`` | ||
- ``sqlsequencereset`` | ||
|
||
.. _django-limitations-migration: | ||
|
||
Migration Limitations | ||
--------------------- | ||
~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
- {+django-odm+} does not support enforced schema validation. To learn how to | ||
enforce schema validation in your application, see the :manual:`Specify JSON | ||
|
@@ -188,24 +218,145 @@ Migration Limitations | |
<{+django-docs+}/topics/migrations/#transactions>`__. | ||
- {+django-odm+} does not support the ``migrate --fake-initial`` command. | ||
|
||
Asynchronous Support | ||
-------------------- | ||
.. _django-limitations-async: | ||
|
||
Asynchronous Limitations | ||
~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
{+django-odm+} has not been tested for support of the asynchronous functionality of | ||
the Django API. | ||
|
||
.. _django-limitations-data: | ||
|
||
Data Types | ||
---------- | ||
~~~~~~~~~~ | ||
|
||
{+django-odm+} does not have a custom ``Field`` class for the ``BSONRegExp`` | ||
data type. Instead, use the ``CharField`` class. | ||
|
||
.. _django-limitations-performance: | ||
|
||
Performance | ||
----------- | ||
~~~~~~~~~~~ | ||
|
||
The engineering team is prioritizing feature development for the Public Preview | ||
release of {+django-odm+}. Because of this, you might notice performance | ||
limitations with certain workloads. If you encounter any performance issues, | ||
please report them as shown in the :ref:`Issues & Help <django-issues-and-help>` | ||
guide. You can also share your feedback on the `Drivers Feedback Forum | ||
<https://feedback.mongodb.com/forums/924286-drivers?category_id=370732>`__. | ||
|
||
Upcoming Features | ||
----------------- | ||
|
||
In this section, you can learn about the following | ||
types of {+framework+} and MongoDB features that | ||
General Availability (GA) and post-GA {+django-odm+} releases | ||
will likely introduce: | ||
|
||
- :ref:`django-upcoming-models` | ||
- :ref:`django-upcoming-database` | ||
- :ref:`django-upcoming-third-party` | ||
- :ref:`django-upcoming-management` | ||
- :ref:`django-upcoming-variables` | ||
- :ref:`django-upcoming-async` | ||
|
||
.. _django-upcoming-models: | ||
|
||
Model Features | ||
~~~~~~~~~~~~~~ | ||
|
||
We plan to support the following model features in | ||
upcoming releases: | ||
|
||
- Creating arrays of embedded documents | ||
- Creating polymorphic embedded documents and arrays | ||
- Applying changes to the schema of embedded models to | ||
``EmbeddedModelField`` values | ||
- Creating multiple models within a collection | ||
- Using forms in embedded models | ||
- Resolve the ``JSONField`` limitations listed in the | ||
:ref:`Field limitations <django-limitations-models-fields>` section of | ||
this guide | ||
- Using a custom ``Field`` class for the ``BSONRegExp`` data type | ||
|
||
.. _django-upcoming-database: | ||
|
||
Database Features | ||
~~~~~~~~~~~~~~~~~ | ||
|
||
We plan to support the following database features in | ||
upcoming releases: | ||
|
||
- Creating Vector Search, Atlas Search, and geospatial indexes | ||
- Performing Vector Search, Atlas Search, and geospatial queries | ||
- Encrypting data by using Queryable Encryption and Client-side Field Level Encryption | ||
- Running database transactions | ||
- Using specialized aggregation operators | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can remove this for now. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. "Using specialized aggregation operators" |
||
- Specifying schema validation | ||
- Using GridFS to store large files | ||
- Opening change streams to monitor your data | ||
|
||
.. tip:: | ||
|
||
To learn more about the MongoDB features mentioned in this section, see | ||
the following resources: | ||
|
||
- :atlas:`Atlas Vector Search </atlas-vector-search/vector-search-overview/>` in the Atlas documentation | ||
- :atlas:`Atlas Search </atlas-search>` in the Atlas documentation | ||
- :manual:`Geospatial Queries </geospatial-queries/>` in the {+mdb-server+} | ||
manual | ||
- :manual:`In-Use Encryption </security-in-use-encryption/>` in the {+mdb-server+} | ||
manual | ||
- :manual:`Transactions </transactions/>` in the {+mdb-server+} | ||
manual | ||
- :manual:`GridFS </gridfs/>` in the {+mdb-server+} | ||
manual | ||
- :manual:`Change Streams </changeStreams/>` in the {+mdb-server+} | ||
manual | ||
|
||
.. _django-upcoming-third-party: | ||
|
||
Third Party Features | ||
~~~~~~~~~~~~~~~~~~~~ | ||
|
||
We plan to support the following third-party features in | ||
upcoming releases: | ||
|
||
- `Django-filter <https://django-filter.readthedocs.io/en/stable/>`__ | ||
- `Django Rest Framework <https://www.django-rest-framework.org/>`__ | ||
- `Django-allauth <https://docs.allauth.org/en/latest/>`__ | ||
- `Wagtail <https://wagtail.org/>`__ | ||
- `Django Debug Toolbar <https://django-debug-toolbar.readthedocs.io/en/latest/>`__ | ||
|
||
.. _django-upcoming-management: | ||
|
||
Django Management Command Features | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
We plan to support the following Django commands in | ||
upcoming releases: | ||
|
||
- ``dumpdata`` | ||
- ``loaddata`` | ||
- ``inspectdb`` | ||
- ``optimizemigration`` | ||
|
||
.. _django-upcoming-variables: | ||
|
||
Database Variable Support | ||
~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
We plan to support the following Django variables for configuring | ||
your database connection in upcoming releases: | ||
|
||
- ``CONN_HEALTH_CHECKS`` | ||
- ``TIME_ZONE`` | ||
|
||
.. _django-upcoming-async: | ||
|
||
Asynchronous Support | ||
~~~~~~~~~~~~~~~~~~~~ | ||
|
||
We plan to offer asynchronous support for {+django-odm+} in future | ||
releases. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove all upcoming with "GA"/ Post-GA release? Upcoming may sound like the next release. We will have many smaller releases leading up to the final GA release.