-
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
Changes from 11 commits
bbe4b91
93ad7e8
d80456f
fe105a0
4d388c4
2a1fa3e
442d453
b9183d7
9ebae73
5e29f7f
7f0e722
088c58c
f7f27c4
a0a89fb
d307fa0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
@@ -1,13 +1,13 @@ | ||||||||||
.. _django-limitations: | ||||||||||
|
||||||||||
============ | ||||||||||
Limitations | ||||||||||
============ | ||||||||||
================================= | ||||||||||
Limitations and Upcoming Features | ||||||||||
================================= | ||||||||||
|
||||||||||
.. contents:: On this page | ||||||||||
:local: | ||||||||||
:backlinks: none | ||||||||||
:depth: 1 | ||||||||||
:depth: 2 | ||||||||||
:class: singlecol | ||||||||||
|
||||||||||
.. facet:: | ||||||||||
|
@@ -21,14 +21,31 @@ Overview | |||||||||
-------- | ||||||||||
|
||||||||||
On this page, you can find a list of features that | ||||||||||
{+django-odm+} does not support. Because {+django-odm+} is in active | ||||||||||
development, some features listed on this page might be considered for future | ||||||||||
releases based on user demand. You can request support for a feature by leaving | ||||||||||
a suggestion on the `Drivers Feedback Forum | ||||||||||
{+django-odm+} does not support and features currently planned for | ||||||||||
future releases. We will prioritize these upcoming features | ||||||||||
based on user demand, and 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>`__. | ||||||||||
|
||||||||||
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 +54,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 +78,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 +136,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 +153,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 +170,7 @@ the :ref:`django-raw-queries` guide. | |||||||||
.. TODO: Link to aggregation | ||||||||||
|
||||||||||
Database Functions | ||||||||||
~~~~~~~~~~~~~~~~~~ | ||||||||||
`````````````````` | ||||||||||
|
||||||||||
{+django-odm+} does not support the following database functions: | ||||||||||
|
||||||||||
|
@@ -166,8 +189,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 +202,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 +215,158 @@ 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: | ||||||||||
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. Q: is there a better way to phrase this to be more authoritative? What's the limitation to just saying these features will be supported? 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. None of these features are guaranteed, so I was asked to use non-authoritative language |
||||||||||
|
||||||||||
- :ref:`django-upcoming-mongodb` | ||||||||||
- :ref:`django-upcoming-models` | ||||||||||
- :ref:`django-upcoming-management` | ||||||||||
- :ref:`django-upcoming-third-party` | ||||||||||
- :ref:`django-upcoming-variables` | ||||||||||
- :ref:`django-upcoming-async` | ||||||||||
|
||||||||||
.. _django-upcoming-mongodb: | ||||||||||
|
||||||||||
MongoDB Features | ||||||||||
~~~~~~~~~~~~~~~~ | ||||||||||
|
||||||||||
We plan to support the following MongoDB features in | ||||||||||
the upcoming GA release: | ||||||||||
|
||||||||||
- Creating Vector Search, Atlas Search, and geospatial indexes | ||||||||||
- Performing Vector Search, Atlas Search, and geospatial queries | ||||||||||
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. This could be misleading. We should either remove it or change the language to say "improved" or "through the Django API" 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. Performing Vector Search, Atlas Search, and geospatial queries directly through the Django API 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.
Suggested change
|
||||||||||
- Encrypting data by using Queryable Encryption and Client-side Field Level Encryption | ||||||||||
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.
Suggested change
|
||||||||||
- Running database transactions | ||||||||||
- Storing Django's cached data in the database | ||||||||||
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.
Suggested change
|
||||||||||
|
||||||||||
We plan to support the following MongoDB features in | ||||||||||
future post-GA releases: | ||||||||||
|
||||||||||
- Using GridFS to store large files | ||||||||||
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. S: modify list to be nouns as you call them features instead of actions |
||||||||||
- Opening change streams to monitor your data | ||||||||||
- Specifying schema validation | ||||||||||
- 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. "Using specialized aggregation operators" - Let's remove this for now. |
||||||||||
|
||||||||||
.. 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 </core/security-in-use-encryption/>` in the {+mdb-server+} | ||||||||||
manual | ||||||||||
- :manual:`Transactions </core/transactions/>` in the {+mdb-server+} | ||||||||||
manual | ||||||||||
- :manual:`GridFS </core/gridfs/>` in the {+mdb-server+} | ||||||||||
manual | ||||||||||
- :manual:`Change Streams </changeStreams/>` in the {+mdb-server+} | ||||||||||
manual | ||||||||||
|
||||||||||
.. _django-upcoming-models: | ||||||||||
|
||||||||||
Model Features | ||||||||||
~~~~~~~~~~~~~~ | ||||||||||
|
||||||||||
We plan to support the following model features in | ||||||||||
the upcoming GA release: | ||||||||||
|
||||||||||
- 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 | ||||||||||
- Improving form representation in embedded models | ||||||||||
|
||||||||||
We plan to support the following model features in | ||||||||||
future post-GA releases: | ||||||||||
|
||||||||||
- Interacting with ``JSONField`` values without the limitations on ``Q`` object queries and | ||||||||||
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. Let's remove this. We have not promised this. |
||||||||||
``None`` value filters listed in the :ref:`Field <django-limitations-models-fields>` limitations | ||||||||||
section of this guide | ||||||||||
- Using a custom ``Field`` class for the ``BSONRegExp`` data type | ||||||||||
|
||||||||||
.. _django-upcoming-management: | ||||||||||
|
||||||||||
Django Management Command Features | ||||||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||||||||
|
||||||||||
We plan to support the following Django commands in | ||||||||||
the upcoming GA release: | ||||||||||
|
||||||||||
- ``dumpdata`` | ||||||||||
- ``loaddata`` | ||||||||||
|
||||||||||
We plan to support the following commands in | ||||||||||
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 these two. We may not commit to adding these. |
||||||||||
future post-GA releases: | ||||||||||
|
||||||||||
- ``inspectdb`` | ||||||||||
- ``optimizemigration`` | ||||||||||
|
||||||||||
.. _django-upcoming-third-party: | ||||||||||
|
||||||||||
Third Party Features | ||||||||||
~~~~~~~~~~~~~~~~~~~~ | ||||||||||
|
||||||||||
We plan to support the following third-party features in | ||||||||||
the upcoming GA release: | ||||||||||
|
||||||||||
- `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-variables: | ||||||||||
|
||||||||||
Database Variable Support | ||||||||||
~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||||||||
|
||||||||||
We plan to support the following Django variables for configuring | ||||||||||
your database connection in future post-GA releases: | ||||||||||
|
||||||||||
- ``CONN_HEALTH_CHECKS`` | ||||||||||
- ``TIME_ZONE`` | ||||||||||
|
||||||||||
.. _django-upcoming-async: | ||||||||||
|
||||||||||
Asynchronous Support | ||||||||||
~~~~~~~~~~~~~~~~~~~~ | ||||||||||
|
||||||||||
We plan to offer asynchronous support for {+django-odm+} in | ||||||||||
future post-GA releases. |
Uh oh!
There was an error while loading. Please reload this page.