--- id: django-reversion-compare version: "0.20.0" license: GPL-3.0-or-later license_treatment: copyleft maintenance: active --- # django-reversion-compare — Add compare view to django-reversion for comparing two versions of a reversion model. License: copyleft · Maintenance: active · Downloads: 87.6K/mo ## What it is and what it does django-reversion-compare extends django-reversion to display a visual diff when comparing two versions of a model. It provides both an admin interface enhancement (via CompareVersionAdmin) and a standalone class-based view for showing what changed between revisions. The package renders field-by-field comparisons with support for text diffs, foreign keys, and many-to-many relationships, and allows customization by overriding comparison methods per field or field type. The package depends on django-reversion for underlying revision tracking, diff-match-patch for computing text diffs, rich for output formatting, and Django itself. It is actively maintained and compatible with recent Django and Python versions. The GPL-3.0-or-later license means it is suitable only for open-source projects or those willing to license their code under GPL. Use it for: - Display a detailed audit trail in Django admin showing exactly which fields changed between model revisions. - Build a custom history page showing what was modified in a document or record over time. - Compare two specific versions of a model to understand the sequence of edits. - Customize diff rendering for domain-specific fields by overriding comparison methods. - Add version comparison to third-party Django models without modifying their source code. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Adds a side-by-side version comparison view to Django admin for models tracked by django-reversion, showing field-by-field diffs between revisions. Yes, if your project is open-source or GPL-compatible and you need to show model change history to users. The package is actively maintained, has low install friction, and solves a real problem for Django projects using django-reversion. Not suitable for proprietary applications without a commercial license agreement. ## Install pip install django-reversion-compare uv add django-reversion-compare poetry add django-reversion-compare ## Installing django-reversion-compare Before you install: Low friction install with four runtime dependencies. Active maintenance with last commit 2026-08-10. Requires Python >=3.12. License in practice: GPL-3.0-or-later copyleft license. Using this package requires you to license derivative works under GPL-3.0 or a compatible open-source license; proprietary applications cannot use it without obtaining an alternative license. Quickstart: pip install django-reversion-compare # In settings.py INSTALLED_APPS: INSTALLED_APPS = [ 'reversion', 'reversion_compare', ] # In admin.py: from reversion_compare.admin import CompareVersionAdmin from django.contrib import admin class MyModelAdmin(CompareVersionAdmin): pass Requires django-reversion to be installed and configured first; django-reversion itself requires a database backend and Django admin setup. Verify before relying: - Whether the package supports all field types in modern Django versions or has known gaps in comparison rendering. - Performance characteristics when comparing models with large text fields or many-to-many relationships. - Whether customization via method overrides works reliably across Django version upgrades. ## Package facts - License: GPL-3.0-or-later (copyleft) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 87.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django model version comparison, django admin revision diff, django-reversion compare history, track model changes django, version control django models, django admin change history, model field change tracking, django-admin, version-control, audit-trail [View on SkillFed](https://skillfed.io/packages/django-reversion-compare) · [View on PyPI](https://pypi.org/project/django-reversion-compare/)