Skip to main content

Base mixins and utilities for clinicedc/edc projects.

Project description

pypi travis coverage

edc-base

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

All models in the Edc use BaseUuidModel

from edc_base.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 UrlMixin, DeviceModelMixin

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

from edc_base.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edc-base-0.2.23.macosx-10.13-x86_64.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

edc_base-0.2.23-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file edc-base-0.2.23.macosx-10.13-x86_64.tar.gz.

File metadata

File hashes

Hashes for edc-base-0.2.23.macosx-10.13-x86_64.tar.gz
Algorithm Hash digest
SHA256 a16d0b35f84302677bd474c0e291819f15b4f4eb96b3c6f9ea288d49a71f6604
MD5 e7727484c0a5e00d7d10f3fe2a130ffe
BLAKE2b-256 2bbbeed862163e867ade6c2c94f7094501a4be3262ee326221f46b3c15f5abe0

See more details on using hashes here.

File details

Details for the file edc_base-0.2.23-py3-none-any.whl.

File metadata

File hashes

Hashes for edc_base-0.2.23-py3-none-any.whl
Algorithm Hash digest
SHA256 61cfc74437675b7380901fa83df3d19933839f40028efed6a2aaf4b8f07ed92d
MD5 8b464650321fe7fa1eb011f026bd8166
BLAKE2b-256 5d7ad11a9a0cd4124b016ee40c46f7e8aeb55532fa73bc827b0e9611b3b2f599

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