/django-reversion

An extension to the Django web framework that provides comprehensive version control facilities.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

django-reversion

django-reversion is an extension to the Django web framework that provides comprehensive version control facilities.

Features

  • Roll back to any point in a model's history - an unlimited undo facility!
  • Recover deleted models - never lose data again!
  • Admin integration for maximum usability.
  • Group related changes into revisions that can be rolled back in a single transaction.
  • Automatically save a new version whenever your model changes using Django's flexible signalling framework.
  • Automate your revision management with easy-to-use middleware.
  • jonozzz: Differentiate between additions, changes and deletions.
  • jonozzz: Correctly serialize/deserialize inherited models.
  • jonozzz: Sample code to build diff between stored versions.

django-reversion can be easily added to your existing Django project with an absolute minimum of code changes.

Documentation

Please read the Getting Started guide for more information.

Download instructions, bug reporting and links to full documentation can be found at the main project website.

You can keep up to date with the latest announcements by joining the django-reversion discussion group.

More information

The django-reversion project was developed by Dave Hall. You can get the code from the django-reversion project site.

Dave Hall is a freelance web developer, based in Cambridge, UK. You can usually find him on the Internet in a number of different places: