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
Close
Hashes for django-reversion-compare-0.1.0.beta.0508.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 926304ee316d4114ec19796e9e6efebce24ce664705855557430633302746869 |
|
MD5 | 2dd0a6956bd80594961bee27a9425b4e |
|
BLAKE2b-256 | 98b0126d8d31ffb671ded59cd0e4b4eaae7aa56fe7c8d836146d812ea010d300 |