{"id":23596,"library":"django-reversion-compare","title":"django-reversion-compare","description":"Add compare view to django-reversion for comparing two versions of a reversion model. Version 0.19.2 supports Python >=3.11 and Django 4.2+. Released irregularly.","status":"active","version":"0.19.2","language":"python","source_language":"en","source_url":"https://github.com/jedie/django-reversion-compare","tags":["django","reversion","compare","admin"],"install":[{"cmd":"pip install django-reversion-compare","lang":"bash","label":"default"}],"dependencies":[{"reason":"Required to provide versioning that can be compared.","package":"django-reversion","optional":false},{"reason":"Django ORM and admin integration.","package":"django","optional":false}],"imports":[{"note":"Common mistake: missing correct import path. Ensure reversion_compare is installed.","wrong":"from reversion_compare.admin import CompareVersionAdmin as CompareVersionAdmin","symbol":"CompareVersionAdmin","correct":"from reversion_compare.admin import CompareVersionAdmin"}],"quickstart":{"code":"# settings.py\nINSTALLED_APPS = [\n    ...\n    'reversion',\n    'reversion_compare',\n]\n\n# admin.py\nfrom django.contrib import admin\nfrom reversion_compare.admin import CompareVersionAdmin\nfrom .models import YourModel\n\nclass YourModelAdmin(CompareVersionAdmin):\n    pass\n\nadmin.site.register(YourModel, YourModelAdmin)","lang":"python","description":"Enable version comparison in the Django admin for a model registered with django-reversion."},"warnings":[{"fix":"Ensure django-reversion >= 5.0 is installed: pip install 'django-reversion>=5.0'","message":"Requires django-reversion 5.0+. Older versions of django-reversion are incompatible.","severity":"breaking","affected_versions":">=0.18.0"},{"fix":"Use keyword arguments when calling revision_diff. See documentation.","message":"The 'reversion_compare.views.revision_diff' function signature changed in 0.17.0. Old calls with positional arguments will break.","severity":"deprecated","affected_versions":"0.17.0+"},{"fix":"Register all relevant fields with reversion: use reversion.register(YourModel, fields=['field1', 'field2', ...]) or follow_fields.","message":"Model fields that are not registered with reversion (e.g., excluded fields) will not appear in the compare view. Users often expect all fields to be compared.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Upgrade to django-reversion-compare 0.18.0 or later: pip install --upgrade django-reversion-compare","cause":"Outdated version of django-reversion-compare that doesn't declare Django 4.2 support in its metadata.","error":"django.core.exceptions.ImproperlyConfigured: The app 'reversion_compare' is not compatible with Django 4.2+"},{"fix":"Change admin class to inherit from CompareVersionAdmin instead of admin.ModelAdmin.","cause":"Model admin class does not inherit from CompareVersionAdmin.","error":"AttributeError: 'YourModelAdmin' object has no attribute 'compare_view'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}