I would make the choice to write an application in Python on the Django framework and would use PostgreSQL as the database. I know these go well together but don't know the exact reason. Do we use this tech stack because Python is an object-oriented programming language and thus can work well together in Django via the ORM to store this data in a relational database?
If someone has a nice explanation of why these technologies are best combined, it will help me a lot!
Thanks in advance!
While I love and use PostgreSQL , I would definitely recommend having a look at SQLite as well. It can be a solid database for lots of applications and it brings some advantages in terms of handling: you don't need a server running, which makes things like testing, deploying or backing up databases much easier. Through the ORM in Django you are one abstraction level away from your database anyway and switching later on is definitely an option, but I believe SQLite is very good for pretty much all the small applications you can think of.
These technologies complete each other, so django is just a framework to build web applications rather than writing everything from scratch in python. there is other frameworks too like flask or AIOHTTP.
PostgreSQL is a relational database because you will probably need to store the data in any datastore either relational or non relational. There is also mysql that is quite similar to PostgreSQL.
I would say it is quite popular to use django with MySQL or PostgreSQL for python developers but this may change based on what your are building. maybe you will need other frameworks or other datastores like redis, Message Broker or non relational database like mongodb.