Skip to main content

Latest release MIT License Reviewed with Review Board Compatible python versions

Django Evolution is an add-on to the Django web framework that helps manage changes to the database schema.

“But wait, why would I want this? Doesn’t Django have migrations built-in? Isn’t this the same thing?”

Yes, yes it does, and it mostly is. In fact, Django Evolution works comfortably alongside Django’s migrations, helping you get the best out of both.

There are cases where you might want an alternative to migrations:

  1. You’re still stuck on Django 1.6 or earlier and need to make changes to your database.

    Django 1.6 is the last version without built-in support for migrations, and there are still codebases out there using it. Django Evolution can help keep upgrades manageable, and make it easier to transition all or part of your codebase to migrations when you finally upgrade.

  2. You’re distributing a self-installable web application, possibly used in large enterprises, where you have no control over when people are going to upgrade.

    Django’s migrations assume some level of planning around when changes are made to the schema and when they’re applied to a database. The more changes you make, and the more versions in-between what the user is running and what they upgrade to, the longer the upgrade time.

    If a customer is in control of when they upgrade, they might end up with years of migrations that need to be applied.

    Migrations apply one-by-one, possibly triggering the rebuild of a table many times during an upgrade. Django Evolution, on the other hand, can apply years worth of evolutions at once, optimized to perform as few table changes as possible. This can take days, hours or even seconds off the upgrade time.

What versions of Django are supported?

Django Evolution 2.x supports Django 1.6 through 4.2, and Python 2.7 through 3.12.

For older versions of Django, see Django Evolution 0.7.

There’s built-in support for evolving SQLite, Postgres, MySQL, and MariaDB databases.

I can’t imagine anything better… How do I start?

We have a bunch of documentation just for you!

There, you’ll find out how to install it, configure it for your project, generate evolutions, and apply them.

Plus, answers to all^W some of your burning questions, like “how do these work with migrations?” and “why is my syncdb/migrate command weird now?”

Who’s using Django Evolution today?

There’s dozens of us! Dozens!

At Beanbag we’re using it in Review Board, our open source code review product, used by thousands of companies world-wide. So we know it works. Review Board predated Django’s migrations by a whole lot of years, and continues to benefit from the optimized upgrade times of evolutions today.

Release files for django-evolution 2.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-evolution 2.4.2
File Size Uploaded
django_evolution-2.4.2.tar.gz 316.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-evolution 2.4.2
File Interpreter ABI Platform
django_evolution-2.4.2-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 665.1 kB

Release files / django_evolution-2.4.2.tar.gz

Download URL django_evolution-2.4.2.tar.gz
Size 316.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f64374329fd1fa98cee4bf19f0547096b892384de4184a2095413c8c0e9c2987
BLAKE2b-256 checksum
How to use checksums
bf4b50ddad8db48c56d463ae712b6162618f05cb59da118d8de595090496290f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.6

Release files / django_evolution-2.4.2-py2.py3-none-any.whl

Download URL django_evolution-2.4.2-py2.py3-none-any.whl
Size 348.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
30de6dbf3bd3ec8bdd9090509e5a0ac6f024f991aebaf105075676d579f636e4
BLAKE2b-256 checksum
How to use checksums
6632eedc15bd6e8504788d4fe9f32cd3d21d9ad818d95c9b129661b45f906373
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.6

Release history Release notifications | RSS feed

This release

2.4.2 This release

2 release files

2.4.1

2 release files

2.4

2 release files

2.3

2 release files

2.2

3 release files

2.1.4

3 release files

2.1.3

3 release files

2.1.2

3 release files

2.1.1

3 release files

2.1

7 release files

2.0

7 release files

0.7.8

3 release files

0.7.7

6 release files

0.7.6

6 release files

0.7.5

6 release files

0.7.4

5 release files

0.7.3

5 release files

0.7.2

5 release files

0.7.1

5 release files

0.7

5 release files

0.6.10

6 release files

0.6.9

0.6.8

0.6.8.dev

0.6.7

0.6.6

0.6.5

0.6.4

0.6.3

0.6.2

0.6.1

0.6

0.5.1

0.5

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page