Should I be familiar with databases when working with Django?

One can definitely build apps with Django without any particular database knowledge. However, some of the problems can be solved more easily when you know how to work with a database. Here are a few example of things to know in order to work with a database effectively:

  • how to perform queries with SQL language
  • how to install, configure and backup the database software
  • how to optimize and tune the database performance

So which database should you learn? If you’re just starting out it doesn’t really matter which database to pick, at this stage you only need to learn SQL language. SQL is a language used by the majority of mainstream databases, so pick a database and start to learn SQL, here are a few database examples: MySQL, PostgreSQL, SQL Server, SQLite, Oracle. If you don’t want to spend time on learning how to install and configure the database software and want to start practicing SQL immediately, SQLite would be the best option here. SQLite is a database contained within a single file which makes it very easy to work with, this is also the default database used by Django. If you’re looking for a more feature-rich alternative, my personal preference is PostgreSQL.