I want to give users the ability to create new data models,and specify the relations between these models.
My use case is a world simulator. Let's say it has Places, Characters, Incidents, etc models. The user should be able to create additional models, and also specify relations between different models. E.g. We could create subgroups of Characters called Heroes and Villains. We may decide that a Character cannot be both a Hero and a Villain. There may also be many-to-many relationships, e.g. a Character can be in many Incidents, and an Incident can involve many Characters.
How do I do this in django? Is it even possible or feasible for users to be changing the actual data models? Or is there some other way to do it implement it