{ "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| |pyup|\n\nedc-model\n---------\n\nBase model, manager, field, form and admin classes for Edc. \n\n\n\nAll models in the Edc use ``BaseUuidModel``\n\n.. code-block:: python\n\n from edc_model.model_mixins import BaseUuidModel\n\n class MyModel(BaseUuidModel):\n\n ....\n\nThe mixin:\n\n* sets the id fields to a ``UUIDField`` instead of an integer;\n* adds audit fields through ``BaseModel`` (user_created, user_modified, date_created, etc);\n* adds ``UrlModelMixin``, ``DeviceModelMixin``\n\nMost models require an audit trail. If so, add the ``HistoricalRecord`` model manager.\n\n.. code-block:: python\n\n from edc_model.model.models import HistoricalRecord\n\n class MyModel(BaseUuidModel):\n\n ...\n history = HistoricalRecord()\n\n\n``HistoricalRecord`` is an almost identical version of ``simple_history.models.HistoricalRecord``\nwith the exception of two methods: ``get_extra_fields()`` and ``add_extra_methods()``. Method \n``get_extra_fields()`` is overridden to change the ``history_id`` primary key from an \n``IntegerField`` to a ``UUIDField`` so that it can work with module ``django_collect_offline``.\n\n\nThe audit trail models created by ``HistoricalRecord`` have a foreign key to ``auth.User``. In order for the models to work with `django_collect_offline` specify the django_collect_offline User model in settings:\n\n.. code-block:: python\n\n AUTH_USER_MODEL = 'django_collect_offline.User' \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/edc-model.svg\n :target: https://pypi.python.org/pypi/edc-model\n\n.. |travis| image:: https://travis-ci.org/clinicedc/edc-model.svg?branch=develop\n :target: https://travis-ci.org/clinicedc/edc-model\n\n.. |codecov| image:: https://codecov.io/gh/clinicedc/edc-model/branch/develop/graph/badge.svg\n :target: https://codecov.io/gh/clinicedc/edc-model\n\n.. |downloads| image:: https://pepy.tech/badge/edc-model\n :target: https://pepy.tech/project/edc-model\n\n.. |pyup| image:: https://pyup.io/repos/github/clinicedc/edc-model/shield.svg\n :target: https://pyup.io/repos/github/clinicedc/edc-model/\n :alt: Updates\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/clinicedc/edc-model", "keywords": "django base models fields forms admin", "license": "GPL license, see LICENSE", "maintainer": "", "maintainer_email": "", "name": "edc-model", "package_url": "https://pypi.org/project/edc-model/", "platform": "", "project_url": "https://pypi.org/project/edc-model/", "project_urls": { "Homepage": "http://github.com/clinicedc/edc-model" }, "release_url": "https://pypi.org/project/edc-model/0.1.18/", "requires_dist": [ "arrow", "django", "django-audit-fields", "django-extensions", "django-revision", "edc-device", "edc-sites", "edc-utils", "edc-constants", "edc-model-fields", "mysqlclient" ], "requires_python": ">=3.7", "summary": "Base model mixins clinicedc/edc projects.", "version": "0.1.18" }, "last_serial": 5920737, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "97a88a9b4c6290e876ff166519c4d87b", "sha256": "a9c5ade0cdab47d549ec5d344b9abcf7d192b2f1031dfcc90b5a48ab9767233c" }, "downloads": -1, "filename": "edc_model-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "97a88a9b4c6290e876ff166519c4d87b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 25924, "upload_time": "2019-03-01T17:10:16", "url": "https://files.pythonhosted.org/packages/fb/af/e1ef47c3b199381498a446173b5c0f3cafe7a812781c13bb0b6096b818c4/edc_model-0.1.1-py3-none-any.whl" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "74a9ca1e984dc6ae2d922c1c21b06c14", "sha256": "30d0159a21cd77b5b75a05d24972984f7b03d2ee13361805c473a61ceb52101d" }, "downloads": -1, "filename": "edc_model-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "74a9ca1e984dc6ae2d922c1c21b06c14", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26444, "upload_time": "2019-03-23T04:03:44", "url": "https://files.pythonhosted.org/packages/88/14/584c51c99aa3c29bc1dab12359332ba85e6f096889163ebc3735b9109974/edc_model-0.1.10-py3-none-any.whl" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "da50d47911819fff365627ea45c78836", "sha256": "27e174f91b3f98111071c5ac312aa4ef46864be412058c3e7c8bbec3fa072537" }, "downloads": -1, "filename": "edc_model-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "da50d47911819fff365627ea45c78836", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26444, "upload_time": "2019-03-27T22:21:01", "url": "https://files.pythonhosted.org/packages/d4/74/ccb332876fba921fb513b20939468ee8e83fb94ae888557b5aa622500137/edc_model-0.1.11-py3-none-any.whl" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "e9dff704f8155b185bd9453c3dde4555", "sha256": "abba54271aec60d6c27f0d23c983ebc4fb35d03f88be0cc05dd9fa99151f03b8" }, "downloads": -1, "filename": "edc_model-0.1.12-py3-none-any.whl", "has_sig": false, "md5_digest": "e9dff704f8155b185bd9453c3dde4555", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26463, "upload_time": "2019-04-08T04:07:36", "url": "https://files.pythonhosted.org/packages/16/9f/5b670961c830a8ee4e456663ab7bbd8190253b245538c7ff32052e3c4a23/edc_model-0.1.12-py3-none-any.whl" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "01b95cf81a3563c4d360fc8ef8c9da93", "sha256": "c64d2cc0761f9c698b3f7b412c58f34978d4d849f8ec72c3808b6f17c0827a45" }, "downloads": -1, "filename": "edc_model-0.1.13-py3-none-any.whl", "has_sig": false, "md5_digest": "01b95cf81a3563c4d360fc8ef8c9da93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26463, "upload_time": "2019-04-08T21:56:17", "url": "https://files.pythonhosted.org/packages/4e/41/67809eb8eb5fd63dd5dd6003441da11b5d9e96dc8fa731e08676ba91160c/edc_model-0.1.13-py3-none-any.whl" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "4b5c0b4ba87deb560e058ffd7b97a4cb", "sha256": "834d44442a9e879031a23e470d25628cb6380bcb36435281383885b1c1058d48" }, "downloads": -1, "filename": "edc_model-0.1.15-py3-none-any.whl", "has_sig": false, "md5_digest": "4b5c0b4ba87deb560e058ffd7b97a4cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 14214, "upload_time": "2019-06-09T13:49:35", "url": "https://files.pythonhosted.org/packages/e9/71/647834c306c50494bc90640faf23da8f9e7c9c092a0a5c20e7295cd07f27/edc_model-0.1.15-py3-none-any.whl" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "d5d5666216e0ecd121d8ecd303ec922e", "sha256": "9ca82516724f40112c8175ebd55b3ad8f1f2f5ee87980a26c7cf3095152f2b9d" }, "downloads": -1, "filename": "edc_model-0.1.16-py3-none-any.whl", "has_sig": false, "md5_digest": "d5d5666216e0ecd121d8ecd303ec922e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 27142, "upload_time": "2019-08-31T07:38:57", "url": "https://files.pythonhosted.org/packages/30/96/236a07f5e62493ac2762257c1bf83741b89f33634677e3c6befe0978b5d6/edc_model-0.1.16-py3-none-any.whl" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "34e7b62acf5bf9cd0951f76000141b72", "sha256": "9bde5e0e3838d2feeb22c4938d53eae8bf4775718f57aaaef8a0e764e76ef161" }, "downloads": -1, "filename": "edc_model-0.1.17-py3-none-any.whl", "has_sig": false, "md5_digest": "34e7b62acf5bf9cd0951f76000141b72", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 27171, "upload_time": "2019-09-05T13:34:58", "url": "https://files.pythonhosted.org/packages/00/a4/79a0433b0cbfae2c5fb2a7dca6b502a381cf0762bc4492d7aafb7034353a/edc_model-0.1.17-py3-none-any.whl" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "7aa8b1501fe2714aaee8f02e351fcc88", "sha256": "01205e1291edaa03a949ba75fc376561490ac33a99bdf2742fb24c273a381987" }, "downloads": -1, "filename": "edc_model-0.1.18-py3-none-any.whl", "has_sig": false, "md5_digest": "7aa8b1501fe2714aaee8f02e351fcc88", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 27636, "upload_time": "2019-10-02T21:50:35", "url": "https://files.pythonhosted.org/packages/0a/54/0541a96eb219acc0eab5442aadae7116d178a50cb3f3e98188a61ed9be15/edc_model-0.1.18-py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "93437829d2b9b2aac6f220ff0cf23388", "sha256": "adc75e31b7a29884103ed7db9aeb653c7361016a77fd43c26b1ed3b341cf6bea" }, "downloads": -1, "filename": "edc_model-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "93437829d2b9b2aac6f220ff0cf23388", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 25362, "upload_time": "2019-03-01T18:24:40", "url": "https://files.pythonhosted.org/packages/fe/f9/9e9dd7d368074697956cc37776865500f468c4c88c59ecb79b0aef799173/edc_model-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "9cdcbe07738b2434e9fad4aea9f7fd56", "sha256": "0233d5f23a290ddd8eda1587b0ef4ed54d7541b8647bc2968dbe349ddfca11cc" }, "downloads": -1, "filename": "edc_model-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "9cdcbe07738b2434e9fad4aea9f7fd56", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26176, "upload_time": "2019-03-04T16:02:15", "url": "https://files.pythonhosted.org/packages/4b/ea/0592b9222d662d09a5536351bd8472a3e17b82512bafba2cc8f6561d1308/edc_model-0.1.3-py3-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "159794f1e49b27683860719ab410129a", "sha256": "5860e1ab0604830248ad2a69a10e928e97c7d669e9a56e9a60f48154ccd1c94a" }, "downloads": -1, "filename": "edc_model-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "159794f1e49b27683860719ab410129a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26168, "upload_time": "2019-03-04T16:52:22", "url": "https://files.pythonhosted.org/packages/6d/53/38d952550fc369c89cd48c9d5c3aea576ab3b7a75cc813c7df9dbaba5251/edc_model-0.1.4-py3-none-any.whl" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "bb46a244e994d7e68b4357cc06e888c3", "sha256": "a234aba73e4142f4e18d097e01288014ed989fd30188866a3c5ab5f90ed8152f" }, "downloads": -1, "filename": "edc_model-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "bb46a244e994d7e68b4357cc06e888c3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26171, "upload_time": "2019-03-04T16:56:14", "url": "https://files.pythonhosted.org/packages/cc/7e/98161b195d3277c0f99f4c93e4370d745a689130d2fba200a59b1a84543b/edc_model-0.1.5-py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "983984fe2378e52f602ade9744b97c30", "sha256": "cc488ba2db9f826d8bb1212f9ba7734066f4b5182680b6488934885a52df037c" }, "downloads": -1, "filename": "edc_model-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "983984fe2378e52f602ade9744b97c30", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26172, "upload_time": "2019-03-06T04:28:01", "url": "https://files.pythonhosted.org/packages/e0/b3/f75464090936a6b0263f950cb80a890bf1aafcb98724a8dbbdc5264395ea/edc_model-0.1.6-py3-none-any.whl" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "9420625a855309fa687f532216396f2e", "sha256": "e53692ecce50424ca22d40618840ce71c651590951b6449cbdf373f03b7abbfb" }, "downloads": -1, "filename": "edc_model-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "9420625a855309fa687f532216396f2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26336, "upload_time": "2019-03-12T13:50:21", "url": "https://files.pythonhosted.org/packages/51/95/3c2e66d8e6501b22531674664e023e745d3e8cdd7a8ee2d175620ab250dc/edc_model-0.1.8-py3-none-any.whl" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "cf9905b69d7cff3a74c4d5b26cad00e7", "sha256": "eae4fc75ab9eb58a08936eda04f901864ffeaa5b3280d30337e4a552068fcc2f" }, "downloads": -1, "filename": "edc_model-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "cf9905b69d7cff3a74c4d5b26cad00e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 26337, "upload_time": "2019-03-16T19:31:31", "url": "https://files.pythonhosted.org/packages/fa/20/1794f8c26732b9a06c0cbbcdd0c7d1cb30bf02b6989710ae909edda01ed4/edc_model-0.1.9-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7aa8b1501fe2714aaee8f02e351fcc88", "sha256": "01205e1291edaa03a949ba75fc376561490ac33a99bdf2742fb24c273a381987" }, "downloads": -1, "filename": "edc_model-0.1.18-py3-none-any.whl", "has_sig": false, "md5_digest": "7aa8b1501fe2714aaee8f02e351fcc88", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 27636, "upload_time": "2019-10-02T21:50:35", "url": "https://files.pythonhosted.org/packages/0a/54/0541a96eb219acc0eab5442aadae7116d178a50cb3f3e98188a61ed9be15/edc_model-0.1.18-py3-none-any.whl" } ] }