I'm trying to find any information if official django is going to support any noSQL DBMS, especially MongoDB. I found a fork of django 1.3 the django-nonrel (a fork of official django) and some other not very reliable projects (failures occur often, according to comments I found on the web). Is django going to support noSQL officially at all?
2 Answers
Perhaps, there are other ways to achieve your goals, besides going noSQL
.
In short, if you just need dynamic fields, you have other options. I have an extensive writeup about them in another answer:
- Entity–attribute–value model (Django-eav)
- PostgreSQL hstore (Django-hstore)
- Dynamic models based on migrations (Django-mutant)
Yes, that's not exactly what you've asked for, but that's all that we've currently got.

- 1
- 1

- 1,889
- 2
- 24
- 33
-
1Hey, in my company, i had to create something to allows Dynamic Fields too, and we loved so much the postgres, so the HstoreFlattenfields was born... https://github.com/multmeio/django-hstore-flattenfields Check this out and help us! We made some great advances... like Queries using the native ORM from django, like a ```Entity.objects.filter(my_dynamic_field__gte=10)``` – Luan Fonseca May 03 '13 at 07:36
-
@Luan, that's nice! I'll definitely look into it! Thanks! – Ivan Kharlamov May 03 '13 at 08:02
-
1@Luan, you definitely need a README file in your repository... :) – Ivan Kharlamov May 03 '13 at 08:09
-
1You are right, @Ivan, i have to do many things, i promise to you that until the next weekend all will be done. haha :D – Luan Fonseca May 05 '13 at 19:48
As you said, forked code is never the best alternative: changes take longer to get into the fork, it might break things... And even with django-nonrel
, is not really Django as you loose things like model inheritance, M2M... basically anything that will need to do a JOIN
query behind the scenes.
Is Django going to support NoSQL? As far as I know, there's no plans on the roadmap for doing so in the short run. According to Russell Keith-Magee on his talk on PyCon Russia 2013, "NoSQL" is on the roadmap but in the long term, as well as SQLAlchemy. So if you wanna wait, is going to take a long time, I'm afraid.
Anyway, even if it's not ideal, you still can use Django but use something else as a ORM. Nothing stops you from use vanilla Django and something like MongoDB instead of Django ORM.

- 1,251
- 7
- 17