Add model fields to track creation and modification dates, users and more on save.
Project description
|pypi| |travis| |codecov| |downloads|
django-audit-fields
-------------------
Installation
============
.. code-block:: bash
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``
.. code-block:: python
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``
.. code-block:: python
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``:
.. code-block:: python
from simple_history.models import HistoricalRecord
class MyModel(AuditUuidModelMixin, models.Model):
...
history = HistoricalRecord()
Notes
=====
User created and modified fields behave as follows:
* created is only set on pre-save add
* modified is always updated
.. |pypi| image:: https://img.shields.io/pypi/v/django-audit-fields.svg
:target: https://pypi.python.org/pypi/django-audit-fields
.. |travis| image:: https://travis-ci.com/erikvw/django-audit-fields.svg?branch=develop
:target: https://travis-ci.com/erikvw/django-audit-fields
.. |codecov| image:: https://codecov.io/gh/erikvw/django-audit-fields/branch/develop/graph/badge.svg
:target: https://codecov.io/gh/erikvw/django-audit-fields
.. |downloads| image:: https://pepy.tech/badge/django-audit-fields
:target: https://pepy.tech/project/django-audit-fields
django-audit-fields
-------------------
Installation
============
.. code-block:: bash
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``
.. code-block:: python
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``
.. code-block:: python
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``:
.. code-block:: python
from simple_history.models import HistoricalRecord
class MyModel(AuditUuidModelMixin, models.Model):
...
history = HistoricalRecord()
Notes
=====
User created and modified fields behave as follows:
* created is only set on pre-save add
* modified is always updated
.. |pypi| image:: https://img.shields.io/pypi/v/django-audit-fields.svg
:target: https://pypi.python.org/pypi/django-audit-fields
.. |travis| image:: https://travis-ci.com/erikvw/django-audit-fields.svg?branch=develop
:target: https://travis-ci.com/erikvw/django-audit-fields
.. |codecov| image:: https://codecov.io/gh/erikvw/django-audit-fields/branch/develop/graph/badge.svg
:target: https://codecov.io/gh/erikvw/django-audit-fields
.. |downloads| image:: https://pepy.tech/badge/django-audit-fields
:target: https://pepy.tech/project/django-audit-fields
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file django_audit_fields-0.1.6-py3-none-any.whl
.
File metadata
- Download URL: django_audit_fields-0.1.6-py3-none-any.whl
- Upload date:
- Size: 23.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a0bd85fffe079da574ed696f797a141e1b71b5d01a0559cb927e13c9d53280b |
|
MD5 | b08fb529de8ca2aaf94359d2abba67a1 |
|
BLAKE2b-256 | 8e974f2a46d23177e5fbe4afe0dacbc11176aec0eb8260cf003250cb1dee1861 |