Track Django Model Objects over time
Project description
Model Tracker
Track model object changes over time so that you know who done what.
Installation
- Install the package
pip install django-model-tracker
- Add Application to your project's INSTALLED_APPs
INSTALLED_APPS = (
'....',
'ModelTracker',
)
- Add the following line to your urls.py
import ModelTracker
urlpatterns = patterns('',
...
url(r'^track/', include('ModelTracker.urls')),
...
)
- Run Migrations
python manage.py migrate ModelTracker
- Add the following line to your models.py file
from ModelTracker import Tracker
- Convert each Model you want to track to inhert from
Tracker.ModelTracker
instead ofmodels.Model
Old Code
class Employee(models.Model):
name=models.CharField(max_length=255)
address=models.CharField(max_length=255)
age=models.IntegerField()
New Code
class Employee(Tracker.ModelTracker):
name=models.CharField(max_length=255)
address=models.CharField(max_length=255)
age=models.IntegerField()
- For each save() call, add the user the username
- Old Code
emp=Employee()
emp.save()
* New Code
emp=Employee()
emp.save(request.user.username)
-
Starting from version of 0.5, you can pass a event_name parameter to mark change as an event
- New Code
emp=Employee()
emp.save(request.user.username,event_name="Created the user")
Using The Middleware
You can add ModelTracker.middleware.ModelTrackerMiddleware
to your Middleware classes to get the username automatically from the request.
MIDDLEWARE_CLASSES = (
'....',
'ModelTracker.middleware.ModelTrackerMiddleware',
)
Note: If you pass username as None
then the change won't be saved.
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-model-tracker-1.0.2.tar.gz
.
File metadata
- Download URL: django-model-tracker-1.0.2.tar.gz
- Upload date:
- Size: 59.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.23.0 CPython/3.5.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 931f1f76dfb854c79086807ff867c1b8c1de502ab5834c24e47274d539fbed50 |
|
MD5 | 9413ea1d1a7f82cd642e17893caf3f16 |
|
BLAKE2b-256 | 65fd4d742ccde84fb78814969ed4e199407e613d95315e3627acdbc3f1e9ce61 |