Question: I've been learning Python through Udacity, Code Academy and Google University. I'm now feeling confident enough to start learning Django. My question is should I learn Django on an SQL database - either SQLite or MySQL; or should I learn Django on a NoSQL database such as Mongo?

I've read all about both but there's a lot I don't understand. Mongo sounds better/easier but at the same time it sounds better/easier for those that already know Relational Databases very well and are looking for something more agile.

Answer: 
Postgres is a great database for Django in production. sqlite is amazing to develop with. You will be doing a lot of work to try to not use a RDBMS on your first Django site.

One of the greatest strengths of Django is the smooth full-stack integration, great docs, contrib apps, app ecosystem. Choosing Mongo, you lose a lot of this. GeoDjango also assumes SQL and really loves postgres/postgis above others - and GeoDjango is really awesome.

If you want to use Mongo, I might recommend that you start with something like bottle, flask, tornado, cyclone, or other that are less about the full-stack integration and less assuming about you using a certain ORM. The Django tutorial, for instance, assumes that you are using the ORM with a SQL DB.
According to their wiki, Django does [not officially support NoSQL databases](https://docs.djangoproject.com/en/1.8/faq/models/#does-django-support-nosql-databases) (a poor decision IMHO). So if you go the NoSQL route on Django, you'll need to be comfortable dealing with non-standard forks of the project and errors that may not be well documented.

So for beginners on Django, SQL is an obvious choice.

That said, my first DB on Django was a NoSQL one, but I had used SQL databases on other platforms previously.