Skip to main content

A Django app for advanced logging capabilities

Project description

Django Tracker

Django Tracker is a middleware for Django that automatically audits and logs all model changes made through user requests. It records the user responsible, the fields changed, and other useful information for tracking data changes.

Installation

pip install django-logger-unergy

Setup

  1. Add 'django_tracker' to INSTALLED_APPS in your settings.py:
INSTALLED_APPS = [
    # ...
    'django_tracker',
]
  1. Run migrations:
python manage.py makemigrations
python manage.py migrate django_tracker

Usage

Auditable Decorator

from django_tracker.decorators import auditable

@auditable(
    tracked_fields=['field1', 'field2'],
    exclude_fiels=["created_at", "updated_at"]
    audit_creates=True,
    audit_updates=True,
    audit_deletes=True,
    level=AuditLevel.MEDIUM
)
class MyModel(models.Model):
    field1 = models.CharField(max_length=100)
    field2 = models.IntegerField()
    # And the control attrb

Querying Audit Logs

You can view audit logs in the Django admin or directly from the model:

from django_tracker.models import AuditLog

# Get changes for a specific object
logs = AuditLog.objects.filter(
    content_type__model='mymodel',
    object_id=obj_id
)

# Get changes by user
logs = AuditLog.objects.filter(username='username')

License

MIT License. See LICENSE file for details.

Project details


Download files

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

Source Distribution

django_tracker_unergy-1.0.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_tracker_unergy-1.0.0-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file django_tracker_unergy-1.0.0.tar.gz.

File metadata

  • Download URL: django_tracker_unergy-1.0.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for django_tracker_unergy-1.0.0.tar.gz
Algorithm Hash digest
SHA256 befef02786fcc9315160da4684c8acf465cd61910a39869c8fd1e1b62e63eec3
MD5 aa5167d25fdd996e786b52c813fdefdf
BLAKE2b-256 c0f129edbce845b5fc15812ce59f1390164e8f7648bf1b29b6ddcef6476c9ec8

See more details on using hashes here.

File details

Details for the file django_tracker_unergy-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_tracker_unergy-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c31361ccfd8601f87a4fbed92c2523a4a0f2aff98fc25e080e4dc33dbcff353a
MD5 315bcff88797683e045e32276b99f1cd
BLAKE2b-256 81fae14ec0b6aac3c349d2fc21bf15a025bd0866b398587bc4eb9ec572e7e14d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page