Automatically create object modify history on Django
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
django_modify_history.egg-info
modify_history
MANIFEST.in
README.mkd
setup.py

README.mkd

Introduction

This application will create history table for each object in Django

Install

sudo pip install django-modify-history

or

git clone git://github.com/alisue/django-modify-history.git
sudo pip install django-modify-history/

or download repository and copy it to somewhere in PYTHON_PATH

How to Use

  1. Append modify_history to INSTALLED_APPS
  2. run manage.py syncdb
  3. Add history_site.py to the app and write like below from modify_history import site from modify_history.backends.basic import BasicHistoryBackend

    from models import Article
    
    class ArticleBackend(BasicHistoryBackend):
        pass
    site.register(Article, ArticleBackend)
    
  4. Use get_history_timelines template tags for get history list like below {% extends 'base.html' %} {% load historytags %}

    {% block content %}
    <h2>History</h2>
    <ul>
        {% get_history_timelines as timelines %}
        {% for timeline in timelines %}
        <li>{{ timeline.get_message }} at {{ timeline.created_at|date }}</li>
        {% endfor %}
    </ul>
    {% endblock %}
    

Settings

HISTORY_ENABLE : Make history enable, to disable history app just set this False

HISTORY_USER_ATTRS : modify_history app find user from target object's attrs. this is the list of name of attrs. default is ['updated_by', 'user', 'author', 'created_by']