Skip to main content

Base model mixins clinicedc/edc projects.

Project description

|pypi| |travis| |codecov| |downloads| |pyup|

edc-model
--------

Base model, manager, field, form and admin classes for Edc.



All models in the Edc use ``BaseUuidModel``

.. code-block:: python

from edc_model.model_mixins import BaseUuidModel

class MyModel(BaseUuidModel):

....

The mixin:

* sets the id fields to a ``UUIDField`` instead of an integer;
* adds audit fields through ``BaseModel`` (user_created, user_modified, date_created, etc);
* adds ``UrlModelMixin``, ``DeviceModelMixin``

Most models require an audit trail. If so, add the ``HistoricalRecord`` model manager.

.. code-block:: python

from edc_model.model.models import HistoricalRecord

class MyModel(BaseUuidModel):

...
history = HistoricalRecord()


``HistoricalRecord`` is an almost identical version of ``simple_history.models.HistoricalRecord``
with the exception of two methods: ``get_extra_fields()`` and ``add_extra_methods()``. Method
``get_extra_fields()`` is overridden to change the ``history_id`` primary key from an
``IntegerField`` to a ``UUIDField`` so that it can work with module ``django_collect_offline``.


The 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:

.. code-block:: python

AUTH_USER_MODEL = 'django_collect_offline.User'


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/edc-model.svg
:target: https://pypi.python.org/pypi/edc-model

.. |travis| image:: https://travis-ci.org/clinicedc/edc-model.svg?branch=develop
:target: https://travis-ci.org/clinicedc/edc-model

.. |codecov| image:: https://codecov.io/gh/clinicedc/edc-model/branch/develop/graph/badge.svg
:target: https://codecov.io/gh/clinicedc/edc-model

.. |downloads| image:: https://pepy.tech/badge/edc-model
:target: https://pepy.tech/project/edc-model

.. |pyup| image:: https://pyup.io/repos/github/clinicedc/edc-model/shield.svg
:target: https://pyup.io/repos/github/clinicedc/edc-model/
:alt: Updates


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

edc_model-0.1.13-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file edc_model-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: edc_model-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 26.5 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

Hashes for edc_model-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 c64d2cc0761f9c698b3f7b412c58f34978d4d849f8ec72c3808b6f17c0827a45
MD5 01b95cf81a3563c4d360fc8ef8c9da93
BLAKE2b-256 4e4167809eb8eb5fd63dd5dd6003441da11b5d9e96dc8fa731e08676ba91160c

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