diff --git a/source/index.txt b/source/index.txt index 7c8adad..df10007 100644 --- a/source/index.txt +++ b/source/index.txt @@ -15,7 +15,7 @@ Django MongoDB Backend Connection Configuration Model Your Data Interact with Data - Limitations + Limitations & Upcoming Features Issues & Help Compatibility API Documentation <{+api+}> @@ -56,10 +56,11 @@ Interact with Data Learn how to use {+django-odm+} to perform operations on MongoDB data in the :ref:`django-interact-data` section. -Limitations ------------ +Limitations and Upcoming Features +--------------------------------- Learn about the features that {+django-odm+} does not support +and features that we plan to support in upcoming releases in the :ref:`django-limitations` section. Compatibility diff --git a/source/limitations.txt b/source/limitations-upcoming.txt similarity index 55% rename from source/limitations.txt rename to source/limitations-upcoming.txt index e76b4eb..c015ede 100644 --- a/source/limitations.txt +++ b/source/limitations-upcoming.txt @@ -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,32 @@ 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. You can also find features +currently planned for the General Availability (GA) and post-GA +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 `__. +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,8 +55,10 @@ 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+}: @@ -46,7 +66,7 @@ The following limitations apply to models in {+django-odm+}: MongoDB collection. Because of this, multiple models cannot share the same collection. Indexes -~~~~~~~ +``````` {+django-odm+} does not support the following index functionalities: @@ -59,8 +79,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 +137,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 +154,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 +171,7 @@ the :ref:`django-raw-queries` guide. .. TODO: Link to aggregation Database Functions -~~~~~~~~~~~~~~~~~~ +`````````````````` {+django-odm+} does not support the following database functions: @@ -166,8 +190,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 +203,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,20 +216,26 @@ 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 @@ -209,3 +243,120 @@ limitations with certain workloads. If you encounter any performance issues, please report them as shown in the :ref:`Issues & Help ` guide. You can also share your feedback on the `Drivers Feedback Forum `__. + +General Availability Release Features +------------------------------------- + +In this section, you can learn about the following +types of {+framework+} and MongoDB features that +GA and post-GA {+django-odm+} releases will likely introduce: + +- :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 GA release: + +- Programmatic management of Vector Search, Atlas Search, + and geospatial indexes by using the Django API +- Vector Search, Atlas Search, and geospatial queries + by using the Django API +- Queryable Encryption and Client-side Field Level Encryption +- Database transactions +- Storage of cached data in the database + +We plan to support the following MongoDB features in +future post-GA releases: + +- GridFS for large file storage +- Change streams for data monitoring +- Schema validation + +.. tip:: + + To learn more about the MongoDB features mentioned in this section, see + the following resources: + + - :atlas:`Atlas Vector Search ` in the Atlas documentation + - :atlas:`Atlas Search ` in the Atlas documentation + - :manual:`Geospatial Queries ` in the {+mdb-server+} + manual + - :manual:`In-Use Encryption ` in the {+mdb-server+} + manual + - :manual:`Transactions ` in the {+mdb-server+} + manual + - :manual:`GridFS ` in the {+mdb-server+} + manual + - :manual:`Change Streams ` in the {+mdb-server+} + manual + +.. _django-upcoming-models: + +Model Features +~~~~~~~~~~~~~~ + +We plan to support the following model features in +the GA release: + +- Arrays of embedded documents +- Polymorphic embedded documents and arrays +- Application of changes to the embedded model schema to + ``EmbeddedModelField`` values +- Multiple models within a collection +- Improved form representation in embedded models + +In future post-GA releases, we plan to support 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 GA release: + +- ``dumpdata`` +- ``loaddata`` + +.. _django-upcoming-third-party: + +Third Party Features +~~~~~~~~~~~~~~~~~~~~ + +We plan to support the following third-party features in +the GA release: + +- `Django-filter `__ +- `Django Rest Framework `__ +- `Django-allauth `__ +- `Wagtail `__ +- `Django Debug Toolbar `__ + +.. _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. \ No newline at end of file