I really like Django. I've fiddled around a bit with Rails, but I personally prefer Django's logic. I also prefer Python over Ruby. Again, personal preferences. Despite all that, I am now switching back to Rails because of Django's lack of native support for databases like mongodb. I saw there was no plan for Django 1.5 to support NoSQL databases.
I've tried to install django-nonrel as it looked promising, but with no success. Even if I succeeded, I can't trust this fork of django considering the lack of active development. There isn't even a post to tell you what version of the dependencies to install, some of which are updating quite fast. So you run into errors that are not well-documented, and it's just an horror.
Django could be a long term investement for me, so I was wondering if there there was a plan to change Django's ORM to support NoSQL databases?
NoSQL databases are not officially supported by Django itself. There are, however, a number of side projects and forks which allow NoSQL functionality in Django.
NoSQL Databases in next 3–5 Years With many big companies like Amazon and Oracle providing NoSQL services the NoSQL database industry is about to grow in the coming years.
NoSQL also lacks in the ability to perform dynamic operations. It can't guarantee ACID properties. In such cases like financial transactions, etc., you may go with SQL databases. You should also avoid NoSQL if your application needs run-time flexibility.
Not Quite The Right ChoiceMost databases in NoSQL do not perform ACID transactions. Modern applications requiring these properties in their final transactions cannot find a good use of NoSQL. It does not use structured query language and are not preferred for structured data.
There has been a lot of discussion about this on the various django project channels.
There are a number of side project and forks which allow no-sql functionality on django. There is also a wiki post from the django people which discusses some alternatives https://code.djangoproject.com/wiki/NoSqlSupport so you can use no sql.
So the bad news is: as of yet there is no definitive answer as to whether anything no-sql will be included in the django core. But the good news is there are a number of no-sql options which are supported and being developed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With