Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

Track changes to django models

Project Description

Simple django app for tracking db changes executed through orm. (Only tested on python3 and django-1.8.1)

Usage

Once installed (see ``Installation`` below), every change to tracked model will be recorded whenever ``save`` or ``delete`` is called.

To include usefull information about circumstances of the changes use

model.save(request=request)

or

model.save(track_token=token)

Same goes for model.delete(), where request is just django HttpRequest instance, and token is result of tracked_model.control.create_track_token(request) call.

This will store djagno user making changes along with ip, host, user agent, request path, request method, referer and request timestamp.

To access model’s history, call it’s tracked_model_history method

model.tracked_model_history()

Model instance can be created from History instance by calling materialize

model = SomeModel.objects.create(attr='initial')
model.attr = 'change 1'
model.save()
model.attr = 'change 2'
model.save()

model_initial_state = model.tracked_history().first().materialize()

Installation

  1. $ pip install django-tracked-model
    
  2. Add tracked_model to INSTALLED_APPS in settings.

  3. Synch db

    $ python manage.py syncdb
    
  4. Mark model as trackable

from django.db import models
from tracked_model.control import TrackedModelMixin as Tracked

class MyModel(Tracked, models.Model):
    spam = models.IntegerField()
    egg = models.TextField()

Tests & mods

If for some weird reason you want to hack around, clone repo and install stuff from dev-reqs.txt

$ pip install -r dev-reqs.txt

There is a Makefile with some handy shortcuts e.g.

$ make test
$ make qa

Poke around Makefile for details

Release History

Release History

This version
History Node

0.1.14

History Node

0.1.13

History Node

0.0.12

History Node

0.0.11

History Node

0.0.1

History Node

0.0.1rc0

History Node

0.0.1b0

History Node

0.0.1.a

History Node

0.0.1a0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
django-tracked-model-0.1.14.tar.gz (7.3 kB) Copy SHA256 Checksum SHA256 Source May 8, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting