{ "info": { "author": "Erik van Widenfelt", "author_email": "ew2789@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "|pypi| |travis| |codecov| |downloads|\n\ndjango-audit-fields\n-------------------\n\nInstallation\n============\n\n.. code-block:: bash\n\n\tpip install django_audit_fields\n\n\nAdd both ``django_audit_fields`` and ``django_revision`` to INSTALLED_APPS::\n\n.. code-block:: python\n\n INSTALLED_APPS = [\n \"...\",\n \"django_revision.apps.AppConfig\",\n \"django_audit_fields.apps.AppConfig\",\n \"...\"]\n\n\nUsage\n=====\n\nAdd model fields to track creation and modification dates, users and more on save.\n\n\nDeclare your model using ``AuditModelMixin``\n\n.. code-block:: python\n\n from django_audit_fields.model_mixins import AuditModelMixin\n\n class MyModel(AuditModelMixin, models.Model):\n\n ...\n\n class Meta(AuditModelMixin.Meta):\n \tpass \n\nPreferably, use a UUID as primary key by declaring your model using ``AuditUuidModelMixin``\n\n.. code-block:: python\n\n from django_audit_fields.model_mixins import AuditUuidModelMixin\n\n class MyModel(AuditUuidModelMixin, models.Model):\n\n ...\n\n class Meta(AuditUuidModelMixin.Meta)\n \tpass\n\nThe model mixins ``AuditModelMixin`` and ``AuditUuidModelMixin``:\n\n* add audit fields (created, modified, user_created, user_modified, hostname_created, hostname_modified);\n\nThe model mixin ``AuditUuidModelMixin`` also\n\n* sets the id fields to a ``UUIDField`` instead of an integer;\n\n\nMost models require an audit trail. If so, add the ``HistoricalRecord`` model manager from ``django-simple-history``:\n\n.. code-block:: python\n\n from simple_history.models import HistoricalRecord\n\n class MyModel(AuditUuidModelMixin, models.Model):\n\n ...\n history = HistoricalRecord()\n\n\nNotes\n=====\n\nUser created and modified fields behave as follows:\n\n* created is only set on pre-save add\n* modified is always updated\n\n\n.. |pypi| image:: https://img.shields.io/pypi/v/django-audit-fields.svg\n :target: https://pypi.python.org/pypi/django-audit-fields\n\n.. |travis| image:: https://travis-ci.com/erikvw/django-audit-fields.svg?branch=develop\n :target: https://travis-ci.com/erikvw/django-audit-fields\n\n.. |codecov| image:: https://codecov.io/gh/erikvw/django-audit-fields/branch/develop/graph/badge.svg\n :target: https://codecov.io/gh/erikvw/django-audit-fields\n\n.. |downloads| image:: https://pepy.tech/badge/django-audit-fields\n :target: https://pepy.tech/project/django-audit-fields\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/erikvw/django-audit-fields", "keywords": "django audit model fields", "license": "GPL license, see LICENSE", "maintainer": "", "maintainer_email": "", "name": "django-audit-fields", "package_url": "https://pypi.org/project/django-audit-fields/", "platform": "", "project_url": "https://pypi.org/project/django-audit-fields/", "project_urls": { "Homepage": "http://github.com/erikvw/django-audit-fields" }, "release_url": "https://pypi.org/project/django-audit-fields/0.1.13/", "requires_dist": [ "arrow", "django-revision", "edc-utils" ], "requires_python": ">=3.7", "summary": "Add model fields to track creation and modification dates, users and more on save.", "version": "0.1.13" }, "last_serial": 5862124, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "6c1d54280b64c5ba79804a70aa759e1e", "sha256": "1e3dd64955e57e67863d5de247ffa1c6213015164179b30a807cd50042022f3d" }, "downloads": -1, "filename": "django_audit_fields-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6c1d54280b64c5ba79804a70aa759e1e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22388, "upload_time": "2019-03-03T21:30:57", "url": "https://files.pythonhosted.org/packages/9f/58/5bd54f7ca9bb0531a78447ca0f0562f2b7dc0e8770defb9b0077fb1291c5/django_audit_fields-0.1.0-py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f5bae6a51f16e8b70cfa0b8babfc167d", "sha256": "13adbecd3b338e28c3c380f9fdaa2e8499a94f5026330a2590cab2bfeaf63198" }, "downloads": -1, "filename": "django_audit_fields-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f5bae6a51f16e8b70cfa0b8babfc167d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22558, "upload_time": "2019-03-03T23:28:09", "url": "https://files.pythonhosted.org/packages/e9/60/cb37058c18145c55b30fcdb477214c6074ee3d81d7a759e4e361d022d332/django_audit_fields-0.1.1-py3-none-any.whl" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "4089e0231e06d2aa231a15352642dda6", "sha256": "3ee1c66497fa279c4658508e8b3f3fca21ba16958bbd84682517a974b8de2122" }, "downloads": -1, "filename": "django_audit_fields-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "4089e0231e06d2aa231a15352642dda6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 23352, "upload_time": "2019-06-29T00:45:28", "url": "https://files.pythonhosted.org/packages/ee/2e/9d4b5bc9269fad5422f01573252706d95fc03cf2766f2a95a3ef618bbece/django_audit_fields-0.1.10-py3-none-any.whl" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "e1291053868f677a8f51aa1246f54d81", "sha256": "9c6b2e85b02e991663057147010e7122e6838e01c154b217fdc9ff7b717912d4" }, "downloads": -1, "filename": "django_audit_fields-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "e1291053868f677a8f51aa1246f54d81", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 23366, "upload_time": "2019-07-20T16:46:15", "url": "https://files.pythonhosted.org/packages/aa/61/16be2e5abc8daf4c2eb3519305dfa529666a7d8cf085a0a8643dcaa97759/django_audit_fields-0.1.11-py3-none-any.whl" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "23f51bf19fca05754bea3890dee9e325", "sha256": "adfb7a371c92d1c1e840c8213254f0fd34929f462187da5f6e2dcd31b59425a7" }, "downloads": -1, "filename": "django_audit_fields-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "23f51bf19fca05754bea3890dee9e325", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 23392, "upload_time": "2019-08-03T15:45:51", "url": "https://files.pythonhosted.org/packages/02/a9/eee13aec8536ff8717f31547c48dac0e6c48f51177662c3eb0d5639533b5/django_audit_fields-0.1.12-py3-none-any.whl" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "564d7bd80554f7ab237c4c2d4733114e", "sha256": "8e3be3f485e627c692571299c9f923ef85ead4752543c707aa64bb56bdf5d2e0" }, "downloads": -1, "filename": "django_audit_fields-0.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "564d7bd80554f7ab237c4c2d4733114e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 21682, "upload_time": "2019-09-20T12:46:10", "url": "https://files.pythonhosted.org/packages/66/77/c54f48a9ea0f4334dfd4b118c3f3e15841e4f60fdcc559398fc027a3fc7f/django_audit_fields-0.1.13-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "3ff2f4c227e2e7975942f9c06cf63b67", "sha256": "e6e96c503e2438b8065869303b96417c1f1601a30319a1ec312f30523d20d482" }, "downloads": -1, "filename": "django_audit_fields-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "3ff2f4c227e2e7975942f9c06cf63b67", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22560, "upload_time": "2019-03-27T22:46:05", "url": "https://files.pythonhosted.org/packages/ff/02/081813b1198516161862f7fa171021400580c3644bda912aacc0b84ef13d/django_audit_fields-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "8e6ba3208b33295abb611d3f0315abc7", "sha256": "de8c9e4657f3ca7b1682b1eb6776e91f351948636299390ee5e164b94cf1ab48" }, "downloads": -1, "filename": "django_audit_fields-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8e6ba3208b33295abb611d3f0315abc7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23182, "upload_time": "2019-04-08T02:57:49", "url": "https://files.pythonhosted.org/packages/03/2b/1a885cd1880531aebc6b286662eed5d9cf42247c15951987818037ca2ee3/django_audit_fields-0.1.3-py3-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "9df5de4e6d196974bb08226b1608cfcf", "sha256": "de9479cb305b6cb89c074e1786807f63c50a9536a2b887dc2351328d6b11d67a" }, "downloads": -1, "filename": "django_audit_fields-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9df5de4e6d196974bb08226b1608cfcf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 23194, "upload_time": "2019-04-08T18:22:30", "url": "https://files.pythonhosted.org/packages/0a/ab/caa54a23ce07edd3f54d4911f9d5fac01ed646f87bcc53cdf1be655ad222/django_audit_fields-0.1.4-py3-none-any.whl" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "2b492a6bd9e5c1eae6b17c7e1a42da7d", "sha256": "419c2d5265cd6bc24f64a7479502fb4089a71e2533a71eadfffca2606a7d3dd2" }, "downloads": -1, "filename": "django_audit_fields-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "2b492a6bd9e5c1eae6b17c7e1a42da7d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 23193, "upload_time": "2019-04-08T19:01:29", "url": "https://files.pythonhosted.org/packages/d6/a3/e9b622916322d2401a3362fdae322930a580bc39da382e072fe7142e3ee1/django_audit_fields-0.1.5-py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "b08fb529de8ca2aaf94359d2abba67a1", "sha256": "8a0bd85fffe079da574ed696f797a141e1b71b5d01a0559cb927e13c9d53280b" }, "downloads": -1, "filename": "django_audit_fields-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b08fb529de8ca2aaf94359d2abba67a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 23194, "upload_time": "2019-04-08T20:41:02", "url": "https://files.pythonhosted.org/packages/8e/97/4f2a46d23177e5fbe4afe0dacbc11176aec0eb8260cf003250cb1dee1861/django_audit_fields-0.1.6-py3-none-any.whl" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "131eb6534ecfe705a28892e5f5a4ca1d", "sha256": "a0c833cc66ef56d26833844447f1b2fdab8840edd114b7daac213be6e1e223b3" }, "downloads": -1, "filename": "django_audit_fields-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "131eb6534ecfe705a28892e5f5a4ca1d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 23195, "upload_time": "2019-04-09T20:26:00", "url": "https://files.pythonhosted.org/packages/ce/ce/775243ed7d99a0ed1b1587ee718e6e05132ad9da05d6f44bf8afb11e1019/django_audit_fields-0.1.7-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "564d7bd80554f7ab237c4c2d4733114e", "sha256": "8e3be3f485e627c692571299c9f923ef85ead4752543c707aa64bb56bdf5d2e0" }, "downloads": -1, "filename": "django_audit_fields-0.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "564d7bd80554f7ab237c4c2d4733114e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 21682, "upload_time": "2019-09-20T12:46:10", "url": "https://files.pythonhosted.org/packages/66/77/c54f48a9ea0f4334dfd4b118c3f3e15841e4f60fdcc559398fc027a3fc7f/django_audit_fields-0.1.13-py3-none-any.whl" } ] }