Versioning data in Django
Joseph Victor Zammit 09:45 stage 🎤
What does “versioning” mean? It means tracking the evolution of a specific record in our database. This talk is about ways to version data in a Django project. The aim is to create a balance between two, sometimes opposing goals. First goal is to have an easy-to-understand data model for product and engineering. The second is for our code to make efficient use of the database.
Example scenario:
- Your company sells widgets. We track orders in the
Order
model and customers in theCustomer
model. - Management uses a report to show locations for orders delivered for customers.
- A customer with past orders wants to update their address. How to handle this without breaking the report just described?
- What performance considerations come into play?
- What does the Django ecosystem offer? Any alternatives? And why?
About Joseph
I’m Joseph. Or “Joe” in short. I am in software engineering since the ‘00s. Working professionally since ‘06.
Most of the time my roles were “backend”. Where working with data and relational databases is a key part of backend.
From ‘08 onwards I worked a lot with Python. And the framework I worked with most is Django.
Website: https://www.untangled.dev/