history compare for django-reversion
Project description
========================
django-reversion-compare
========================
**django-reversion-compare** is an extension to `django-reversion <https://github.com/etianen/django-reversion/>`_ that provides a history compare view to compare two versions of a model which is under reversion.
Comparing model versions is not a easy task. Maybe there are different view how this should looks like.
This project will gives you a generic way to see whats has been changed.
Many parts are customizable by overwrite methods or subclassing, see above.
------------
installation
------------
Just use:
::
pip install django-reversion-compare
setup
=====
Add **reversion_compare** to **INSTALLED_APPS** in your settings.py, e.g.:
::
INSTALLED_APPS = (
'django...',
...
'reversion', # https://github.com/etianen/django-reversion
'reversion_compare', # https://github.com/jedie/django-reversion-compare
...
)
usage
=====
Inherit from **CompareVersionAdmin** instead of **VersionAdmin** to get the compare feature.
admin.py e.g.:
::
from django.contrib import admin
from reversion_compare.admin import CompareVersionAdmin
from my_app.models import ExampleModel
class ExampleModelAdmin(CompareVersionAdmin):
pass
admin.site.register(ExampleModel, ExampleModelAdmin)
customize
=========
It's possible to change the look for every field or for a entire field type.
You must only define a methods to your admin class with this name scheme:
* ``"compare_%s" % field_name``
* ``"compare_%s" % field.get_internal_type()``
If there exist no method with this name scheme, the ``fallback_compare()`` method would be used.
example for specify a compare method for a model field by name:
::
class YourAdmin(CompareVersionAdmin):
def compare_foo_bar(self, obj_compare):
""" compare the foo_bar model field """
return "%r <-> %r" % (obj_compare.value1, obj_compare.value2)
----
test
----
We ship a simple test project. To use this, do this steps:
::
$ cd path/to/django-reversion-compare/reversion_compare_test_project/
django-reversion-compare/reversion_compare_test_project$ ./reset.sh # creates test.db3 with syncdb and run createsuperuser
django-reversion-compare/reversion_compare_test_project$ ./manage.py runserver --traceback
See, also: `reversion_compare_test_project <http://github.com/jedie/django-reversion-compare/tree/master/reversion_compare_test_project>`_
-----------
screenshots
-----------
----
|django-reversion-compare_v0_1_0-01.png|
.. |django-reversion-compare_v0_1_0-01.png| image:: http://www.pylucid.org/media/pylucid.org/screenshots_PyLucid/django-reversion/django-reversion-compare_v0_1_0-01.png
----
|django-reversion-compare_v0_1_0-02.png|
.. |django-reversion-compare_v0_1_0-02.png| image:: http://www.pylucid.org/media/pylucid.org/screenshots_PyLucid/django-reversion/django-reversion-compare_v0_1_0-02.png
----
|django-reversion-compare_v0_1_0-03.png|
.. |django-reversion-compare_v0_1_0-03.png| image:: http://www.pylucid.org/media/pylucid.org/screenshots_PyLucid/django-reversion/django-reversion-compare_v0_1_0-03.png
----
---------
changelog
---------
* v0.1.0 - 08.05.2012:
* First release
* v0.0.1 - 08.05.2012:
* collect all compare stuff from old "diff" branch
* see also: `https://github.com/etianen/django-reversion/issues/147 <https://github.com/etianen/django-reversion/issues/147>`_
-----
Links
-----
+-----------------+----------------------------------------------------------+
| IRC | `#pylucid on freenode.net`_ |
+-----------------+----------------------------------------------------------+
| Github | `http://github.com/jedie/django-reversion-compare`_ |
+-----------------+----------------------------------------------------------+
| Python Packages | `http://pypi.python.org/pypi/django-reversion-compare/`_ |
+-----------------+----------------------------------------------------------+
.. _#pylucid on freenode.net: http://www.pylucid.org/permalink/304/irc-channel
.. _http://github.com/jedie/django-reversion-compare: http://github.com/jedie/django-reversion-compare
.. _http://pypi.python.org/pypi/django-reversion-compare/: http://pypi.python.org/pypi/django-reversion-compare/
django-reversion-compare
========================
**django-reversion-compare** is an extension to `django-reversion <https://github.com/etianen/django-reversion/>`_ that provides a history compare view to compare two versions of a model which is under reversion.
Comparing model versions is not a easy task. Maybe there are different view how this should looks like.
This project will gives you a generic way to see whats has been changed.
Many parts are customizable by overwrite methods or subclassing, see above.
------------
installation
------------
Just use:
::
pip install django-reversion-compare
setup
=====
Add **reversion_compare** to **INSTALLED_APPS** in your settings.py, e.g.:
::
INSTALLED_APPS = (
'django...',
...
'reversion', # https://github.com/etianen/django-reversion
'reversion_compare', # https://github.com/jedie/django-reversion-compare
...
)
usage
=====
Inherit from **CompareVersionAdmin** instead of **VersionAdmin** to get the compare feature.
admin.py e.g.:
::
from django.contrib import admin
from reversion_compare.admin import CompareVersionAdmin
from my_app.models import ExampleModel
class ExampleModelAdmin(CompareVersionAdmin):
pass
admin.site.register(ExampleModel, ExampleModelAdmin)
customize
=========
It's possible to change the look for every field or for a entire field type.
You must only define a methods to your admin class with this name scheme:
* ``"compare_%s" % field_name``
* ``"compare_%s" % field.get_internal_type()``
If there exist no method with this name scheme, the ``fallback_compare()`` method would be used.
example for specify a compare method for a model field by name:
::
class YourAdmin(CompareVersionAdmin):
def compare_foo_bar(self, obj_compare):
""" compare the foo_bar model field """
return "%r <-> %r" % (obj_compare.value1, obj_compare.value2)
----
test
----
We ship a simple test project. To use this, do this steps:
::
$ cd path/to/django-reversion-compare/reversion_compare_test_project/
django-reversion-compare/reversion_compare_test_project$ ./reset.sh # creates test.db3 with syncdb and run createsuperuser
django-reversion-compare/reversion_compare_test_project$ ./manage.py runserver --traceback
See, also: `reversion_compare_test_project <http://github.com/jedie/django-reversion-compare/tree/master/reversion_compare_test_project>`_
-----------
screenshots
-----------
----
|django-reversion-compare_v0_1_0-01.png|
.. |django-reversion-compare_v0_1_0-01.png| image:: http://www.pylucid.org/media/pylucid.org/screenshots_PyLucid/django-reversion/django-reversion-compare_v0_1_0-01.png
----
|django-reversion-compare_v0_1_0-02.png|
.. |django-reversion-compare_v0_1_0-02.png| image:: http://www.pylucid.org/media/pylucid.org/screenshots_PyLucid/django-reversion/django-reversion-compare_v0_1_0-02.png
----
|django-reversion-compare_v0_1_0-03.png|
.. |django-reversion-compare_v0_1_0-03.png| image:: http://www.pylucid.org/media/pylucid.org/screenshots_PyLucid/django-reversion/django-reversion-compare_v0_1_0-03.png
----
---------
changelog
---------
* v0.1.0 - 08.05.2012:
* First release
* v0.0.1 - 08.05.2012:
* collect all compare stuff from old "diff" branch
* see also: `https://github.com/etianen/django-reversion/issues/147 <https://github.com/etianen/django-reversion/issues/147>`_
-----
Links
-----
+-----------------+----------------------------------------------------------+
| IRC | `#pylucid on freenode.net`_ |
+-----------------+----------------------------------------------------------+
| Github | `http://github.com/jedie/django-reversion-compare`_ |
+-----------------+----------------------------------------------------------+
| Python Packages | `http://pypi.python.org/pypi/django-reversion-compare/`_ |
+-----------------+----------------------------------------------------------+
.. _#pylucid on freenode.net: http://www.pylucid.org/permalink/304/irc-channel
.. _http://github.com/jedie/django-reversion-compare: http://github.com/jedie/django-reversion-compare
.. _http://pypi.python.org/pypi/django-reversion-compare/: http://pypi.python.org/pypi/django-reversion-compare/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-reversion-compare-0.1.0.beta.0508.tar.gz
.
File metadata
- Download URL: django-reversion-compare-0.1.0.beta.0508.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 926304ee316d4114ec19796e9e6efebce24ce664705855557430633302746869 |
|
MD5 | 2dd0a6956bd80594961bee27a9425b4e |
|
BLAKE2b-256 | 98b0126d8d31ffb671ded59cd0e4b4eaae7aa56fe7c8d836146d812ea010d300 |