Skip to main content

Base model mixins clinicedc/edc projects

Project description

pypi actions codecov downloads Updates

edc-model

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

All models in the Edc use BaseUuidModel

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.

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:

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

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 Distribution

edc-model-0.3.37.tar.gz (50.5 kB view details)

Uploaded Source

Built Distribution

edc_model-0.3.37-py3-none-any.whl (53.9 kB view details)

Uploaded Python 3

File details

Details for the file edc-model-0.3.37.tar.gz.

File metadata

  • Download URL: edc-model-0.3.37.tar.gz
  • Upload date:
  • Size: 50.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for edc-model-0.3.37.tar.gz
Algorithm Hash digest
SHA256 4c8262431f24f35e2b0c4bfdf84ec82ab857130545237a8e9e9d10eb8ef41f8b
MD5 0cb0bdc28bf9599511ba63b3ec0f6b23
BLAKE2b-256 61746bddeb0dbf0538a8baac1e00d23a4e442783349e18f0f443b9e8bb525d37

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edc_model-0.3.37-py3-none-any.whl
  • Upload date:
  • Size: 53.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for edc_model-0.3.37-py3-none-any.whl
Algorithm Hash digest
SHA256 42703e8a8c19d6ca1d3723d5cdcf40a81a0d9e3e84b0dfd87541b3997e060eae
MD5 4f60b7f3bb01a3a4f2fa6eaba910d545
BLAKE2b-256 5bf42f23fdd08e02fc55b9ab4867f53b2a8ca312b0d64f91599b5165bf17c690

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