django-dynamic-model

Allow dynamic creation and updates to database schema at runtime.


Keywords
django, python
License
MIT
Install
pip install django-dynamic-model==0.4.0rc0

Documentation

django-dynamic-models

PyPI

Overview

Dynamic Django models allow users to define, edit, and populate their own database tables and apply runtime schema changes to the database. django-dynamic-models is loosely based on the runtime dynamic models talk from DjangoCon 2011. The basic concept involves around dynamic class declaration using the built-in type function. type is used to dynamically declare new Django models at runtime, and it is the goal of this project to provide a simple API to allow developers to get started with dynamic models quickly.

This package provides models to help Django developers quickly implement dynamic models for their specific use case, while the handling the runtime schema changes and updates to Django's model registry under the hood. The schema changes are applied in pure Django, without the migrations framework, so none of your dynamic models will affect your migrations files at all.

Disclaimer:

It is not recommended to use this project for business critical data due to the high potential for data loss. Tables can be dropped very easily, and without backups, even a small user error could be catastrophic.

Documentation

See the wiki for documentation.