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!
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.
I wholeheartedly recommend this stack, after using it and many other alternatives for many years. Object orientation has nothing to do with this. I’d recommend this stack because Django so seamlessly integrates with Postgres, and lets you do abstract, complex queries very efficiently in Python. It handles migration due to schema modifications almost flawlessly. It is generally a very mature and solid synergy of technologies that beats anything else I’ve tried for building standard REST and web backends.