Skip to main content

Dynamic model definition and alteration (evolving schemas)

Project description

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:


pip install django-mutant

Make sure 'django.contrib.contenttypes' and 'mutant' are in your INSTALLED_APPS

INSTALLED_APPS += ('django.contrib.contenttypes', 'mutant')

Migrating to django-mutant 0.2 and Django 1.7+

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.

  1. Fake the initial mutant migration.
  2. For every mutant.contrib application you installed make sure to fake their initial migration and run their following migration. For example, if you had the mutant.contrib.boolean application installed you want to run migrate boolean --fake 0001 && migrate boolean


Get in touch and contribute

>From now on I think the best way to contribute and get in touch is using github messaging system (issues and pull requests).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-mutant, version 0.2.1
Filename, size File type Python version Upload date Hashes
Filename, size django_mutant-0.2.1-py2.py3-none-any.whl (65.8 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size django-mutant-0.2.1.tar.gz (35.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page