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: 
As a beginner, it will probably be easiest to learn Django using `sqlite`. You only need to provide a location for the database and to specify sqlite3 as your backend to get it working, which is nice. If you want to use `postgres` later, it'll be more work but it's still feasible. See @JonathanVanasco's note in the comments.

If you want to eventually use a NoSQL DB, Django doesn't support it currently. [Here](https://docs.djangoproject.com/en/dev/ref/databases/#using-a-3rd-party-database-backend) is the list of recognized 3rd party Django backends.

You could use Mongo through a third party fork known as [django-nonrel](http://www.allbuttonspressed.com/projects/django-nonrel), but this particular implementation doesn't support ManyToManyFields and has a few other limitations. You can read more about Mongo in django-nonrel at [this blog post](http://www.allbuttonspressed.com/blog/django/2010/05/MongoDB-backend-for-Django-nonrel-released). There's some more unofficial documentation on django-nonrel [here](https://code.djangoproject.com/wiki/NoSqlSupport).
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.