I'm a front-end developer/designer who is trying to branch out and learn more about the back-end world. I've chosen Python, Django, and Postgres as my starting place. My goal is to build a personal web app, and use that as my catalyst for learning. It's been really fun.
I'm at the stage where I'm designing the data model. I would normally tinker and figure things out, but in this case I'm curious what is possible.
A good analogy for my app's data model is a spreadsheet. The user can create a "spreadsheet", then determine "columns", and subsequently the data type per column.
So, as a pure example, a new sheet has the following columns:
Name (text)
Cost (number / currency)
Date (time stamp
Frequency (number)
Notes (text)
Then, "rows" can be added where each entry has values for name/cost/date/frequency/notes, as well as some meta data like who created the row, at what time, etc.
I'm unsure what is the best schema to accomplish this example. Below is the best idea I came up with. I'm wondering if anyone would be willing to comment on whether this is the best approach, or give feedback on a different direction.
Best Answer
I've never attempted something like this, but maybe a schema such as this would work:
Of course you'd only create records in
spreadsheet_cells
for non-null values...