Dynamic model definition and alteration (evolving schemas).
Django provides a great ORM and with the power of migrations one can easily perform schema alteration.
However, some projects may require runtime schema alteration and that's what django-mutant provides.
The main concept was inspired by those projects:
- Will Hardy dynamic-models's documentation and talk.
- And by django-dynamo.
pip install django-mutant
Make sure 'django.contrib.contenttypes' and 'mutant' are in
your INSTALLED_APPS
INSTALLED_APPS += ('django.contrib.contenttypes', 'mutant')
If you used mutant with Django < 1.7 and are willing to migrate forward
you'll have to run the following steps in order to make sure you database
schema is synchronized with Django's migration state.
- Fake the initial
mutantmigration. - For every
mutant.contribapplication you installed make sure to fake their initial migration and run their following migration. For example, if you had themutant.contrib.booleanapplication installed you want to runmanage.py migrate boolean --fake 0001 && manage.py migrate boolean
- DjangoCon Europe 2013 talk about mutant and other dynamic model alternatives given by Juergen Schackmann.
- A getting started guide with mutant guide by @integricho.
From now on I think the best way to contribute and get in touch is using github messaging system (issues and pull requests).