Skip to main content

Add model fields to track creation and modification dates, users and more on save.

Project description

pypi actions codecov downloads

django-audit-fields

VERSION

  • <=0.3.3 (DJ 3.1, py 3.7, 3.8)

  • >=0.3.4 (DJ 3.2+, py 3.9+)

Installation

pip install django_audit_fields

Add both django_audit_fields and django_revision to INSTALLED_APPS

INSTALLED_APPS = [
    "...",
    "django_revision.apps.AppConfig",
    "django_audit_fields.apps.AppConfig",
    "..."]

Usage

Add model fields to track creation and modification dates, users and more on save.

Declare your model using AuditModelMixin

from django_audit_fields.model_mixins import AuditModelMixin

class MyModel(AuditModelMixin,  models.Model):
    ...
    class Meta(AuditModelMixin.Meta):
        pass

Preferably, use a UUID as primary key by declaring your model using AuditUuidModelMixin

from django_audit_fields.model_mixins import AuditUuidModelMixin

class MyModel(AuditUuidModelMixin, models.Model):
    ...
    class Meta(AuditUuidModelMixin.Meta)
        pass

The model mixins AuditModelMixin and AuditUuidModelMixin:

  • add audit fields (created, modified, user_created, user_modified, hostname_created, hostname_modified);

The model mixin AuditUuidModelMixin also

  • sets the id fields to a UUIDField instead of an integer;

Most models require an audit trail. If so, add the HistoricalRecord model manager from django-simple-history:

from simple_history.models import HistoricalRecords

class MyModel(AuditUuidModelMixin, models.Model):
    ...
    history = HistoricalRecords()

Notes

User created and modified fields behave as follows:

  • created is only set on pre-save add

  • modified is always updated

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-audit-fields-0.3.11.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

django_audit_fields-0.3.11-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file django-audit-fields-0.3.11.tar.gz.

File metadata

  • Download URL: django-audit-fields-0.3.11.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for django-audit-fields-0.3.11.tar.gz
Algorithm Hash digest
SHA256 b0bf0a3ac3b5a1ec37c509ca6ddfb5014bbca6293ba0fae5f251daf1b5d03248
MD5 ecaaf3a6bb3cf03458271d26b19d569c
BLAKE2b-256 2fc24c22438b47b3893b14800b9f15d61f7a0affc190f470e25a5c344514a59b

See more details on using hashes here.

File details

Details for the file django_audit_fields-0.3.11-py3-none-any.whl.

File metadata

File hashes

Hashes for django_audit_fields-0.3.11-py3-none-any.whl
Algorithm Hash digest
SHA256 00e79aa49b5a55752224df56d68119b5d07abbedab56bba64d29dfc75fe7c875
MD5 8a9e4c39710c3942a3549ec9849ad6ce
BLAKE2b-256 ed00a47a15df19583c05692a30cfbcad6994b871cc3ac7f5a231186b2cdf58ad

See more details on using hashes here.

Supported by

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