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 UrlModelMixin, 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
Metadata
Release files for edc-base 0.3.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| edc_base-0.3.12-py3-none-any.whl | Python 3 | none | any | Details |
Release files / edc_base-0.3.12-py3-none-any.whl
| Download URL | edc_base-0.3.12-py3-none-any.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
42680e6e27ba60dc57dbf3efcf9097ad1fcfeb6a4f6fd3fa0b8a28aa5de78046
|
|
BLAKE2b-256 checksum How to use checksums |
3eb34f781184140fe2fd8e4277583063f093e60b2a7952a4d82339cdd3327fdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|