Skip to content

Include FAQ to README #136

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

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 28 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,29 @@ from the new application's `apps.py` file.
Valid values for `verbosity` are `"queryPlanner"` (default),
`"executionStats"`, and `"allPlansExecution"`.

## Why are we building a MongoDB-Django integration?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Putting this background information amid technical details is out of place. I wouldn't personally include this information in this document.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about moving it to the top of the document?


Building a robust solution that makes Django and NoSQL databases work together well has historically been challenging due to Django's ORM being built around relational database principles. While there have been several attempts in the past to create NoSQL (and MongoDB) integrations for Django, many of these projects have not achieved lasting success for various reasons. So, why have we chosen to tackle this problem now?

According to the 2023 Django Developer Survey, 8% of respondents reported using MongoDB as a database backend with Django. This figure has shown a consistent upward trend in recent years (see 2021 and 2022 surveys). Additionally, numerous community members and customers have expressed a strong interest in leveraging Django alongside MongoDB.
Our goal is to meet the needs of the developer community by providing an exceptional experience when working with MongoDB. Therefore, we are embarking on this journey to create a reliable integration. **Please note that the current project is in a very early stage of development and is not yet ready for PoC or Production use cases.**

## Current capabilities

At this stage, the project should let you replicate the djangoproject.com tutorial with minimal changes. You will likely be able to run it passing a portion of the standard Django test suite but not all of it. Some key features that we have added so far are:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section is too vague to be useful. There are some parts of the list below that will work and some parts that won't. As I have said before, we should document what doesn't work.

- Able to define MongoDB collections using Django models
- Able to query data using Django’s `QuerySets`
- Able to use Django’s authentication system `django.contrib.auth`
- Able to use Django’s automatic admin interface `django.contrib.admin`
- Able to use Django’s management commands
- Able to use MongoDB’s Aggregation Pipeline

## What's next?
We are working towards a Public Preview release early 2025. We do not yet have a timeline for general availability. Exact details of the roadmap will be published soon. Stay tuned!
What level of support will MongoDB provide to developers using this code?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this meant to be a new header?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep. Thanks for catching that.


This code is still in development and not intended for POC or production use cases, so we are not providing formal support within our Technical Services team at this time.

## Known issues and limitations

- The following `QuerySet` methods aren't supported:
Expand Down Expand Up @@ -149,6 +172,10 @@ from the new application's `apps.py` file.
- You can study the skipped tests in `DatabaseFeatures.django_test_skips` for
more details on known issues.


## We value your feedback!
We invite you to share your feedback as we work to address this challenge. If you are interested in becoming a design partner, please connect with us through our community forum. You can also create issues or submit pull requests directly to our project GitHub repository.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does it mean to be a design partner? Where is the community forum?


## Troubleshooting

TODO
TODO
Loading