-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: django
Context
- What is Graphene?
Graphene is a popular Python GraphQL framework that integrates tightly with Django, providing tools to expose Django models and queries over a GraphQL API.
- Why is this an important feature to implement?
Users adopting Django MongoDB Backend often also use GraphQL for modern APIs; first-class Graphene compatibility would let them expose MongoDB-backed Django models without custom glue code, aligning with expectations set by Django’s SQL backends and improving the overall story alongside DRF support.
- User Request
Thanks for bringing this update to Django! It's really appreciates that NoSQL alternatives are being considered for such a loved framework. I'm currently reading through the project current limitations, and it seems like the basics are well covered, Geospatial Queries will be a great addition in the future. Additionally, having DRF support as a priority is a big plus. I'm curious if Graphene or Django Ninja is on your compatibility roadmap?
Acceptance Criteria
- What does implementation look like with respect to Django-MongoDB-Backend?
-
- Documented guidance (or utilities) for defining Graphene types from MongoDB-backed Django models using this backend.
- Query and mutation examples that show end‑to‑end CRUD against MongoDB collections via Graphene.
- Verified behavior for common patterns (filtering, pagination-style patterns, and nested/embedded documents) so that they work or are clearly documented as unsupported.
Pitfalls
- Identify any pitfalls
-
- Graphene’s assumptions are largely shaped by relational/Django ORM patterns; some features (complex joins, certain aggregations) may not map cleanly to MongoDB.
- Embedded documents and polymorphic data may require custom resolvers or non-trivial schema design.
- Maintaining compatibility across Graphene and Django versions, as well as evolving backend features (e.g., geospatial, aggregation), can increase the surface area of ongoing support.
- is cloned by
-
INTPYTHON-565 CF: Django MongoDB Backend & Django Ninja support
-
- Backlog
-
-
INTPYTHON-895 CF: Django MongoDB Backend & Ninja support
-
- Backlog
-
- related to
-
INTPYTHON-511 GA Release of the Django-MongoDB-Backend
-
- Development Complete
-