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-1.0.0.tar.gz (51.6 kB view details)

Uploaded Source

Built Distribution

edc_model-1.0.0-py3-none-any.whl (55.9 kB view details)

Uploaded Python 3

File details

Details for the file edc_model-1.0.0.tar.gz.

File metadata

  • Download URL: edc_model-1.0.0.tar.gz
  • Upload date:
  • Size: 51.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.4

File hashes

Hashes for edc_model-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6c62c9495be0cdc43992b1fdfa735645b5ebad8cfbbdadd63b2849139dd393fe
MD5 0b17fae43397d352fd8004174c9164a0
BLAKE2b-256 e6e6cdf6d86a188d52c4495d4b2d01a72e62108ed4e20d0253b81a1013daae2b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: edc_model-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 55.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.4

File hashes

Hashes for edc_model-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 791f7116de980ca6c73d2000024d1df98930245d682a9bae3aebd13c715f5302
MD5 7c54f06bb7577f148e76f2b6c6ed43fc
BLAKE2b-256 8fc89acf32195744a9d9cc5aa73d27acc95b0766d1d5f5d18dc7102094971d6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page