skip to navigation
skip to content

Not Logged In

django-simple-audit 0.1.14

Simple audit for model instances in Django.

django simple audit
This applications was created to audit model's changes and maintain a log of them

You can install django-simple-audit in 2 ways: using pip or by install

.. code-block:: bash

    $ pip install django-simple-audit

Then modify your, adding the package `simple_audit` in INSTALLED_APPS and in MIDDLEWARE_CLASSES add

.. code-block:: bash

        INSTALLED_APPS = (




Tracking changes on a model

to audit a model you need import `simple_audit` and then register the model to be audited.

.. code-block:: python

        from django.db import models
        import simple_audit

        class Message(models.Model):

            title = models.CharField(max_length=50, blank=False)
            text = models.TextField(blank=False)

            def __unicode__(self):
                return self.text

        class Owner(models.Model):

            name = models.CharField(max_length=50, blank=False)

            def __unicode__(self):

        class VirtualMachine(models.Model):

            name = models.CharField(max_length=50, blank=False)
            cpus = models.IntegerField()
            owner = models.ForeignKey(Owner)
            so = models.CharField(max_length=100, blank=False)
            started = models.BooleanField()

            def __unicode__(self):

        simple_audit.register(Message, Owner, VirtualMachine)

Advanced Usage (without httprequest or our middleware)

You can use django-simple-audit without an http request (for example in management command). In this situation
there is no http request on thread context. To ensure gathering all modification on a single AuditRequest, you can
specify it:

.. code-block:: python

        AuditRequest.new_request(path, user, ip)
            # my code... in same thread

Tracking m2m fields changes

Tracking m2m fields changes is still experimental, but you can enable it with the following variable:


You need to have at least one cache backend set in your django settings, otherwise the previous settings will be set to False.

    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
            'LOCATION': 'unique',
            'TIMEOUT': 300,


* Django >= 1.4.x
* django.contrib.contenttypes installed in INSTALLED_APPS

* Improve tests

* 0.1.14
        * improved m2m audit feature ( thanks dinie )
    * Add support for Custom user model ( thanks dinie )
    * Option to turn on/off auditing ( thanks dinie )

* 0.1.12
    * Created some simple tests
    * Enable many to many fiedls tracking (see Usage)
File Type Py Version Uploaded on Size
django-simple-audit-0.1.14.tar.gz (md5) Source 2014-01-23 12KB
  • Downloads (All Versions):
  • 60 downloads in the last day
  • 211 downloads in the last week
  • 1198 downloads in the last month