fairdm.core.sample.admin#
Django admin configuration for samples.
Module Contents#
Classes#
A |
|
Inline admin for sample descriptions, capped at one row per vocabulary type. |
|
Inline admin for sample dates, capped at one row per vocabulary type. |
|
Inline admin for sample identifiers, capped at one row per vocabulary type. |
|
Inline admin for sample contributions. |
|
Inline admin for sample-to-sample relationships. |
|
Base admin for sample child models, with inlines for their related records. |
|
Polymorphic parent admin registered for |
API#
- class SampleDatasetListFilter(field, request, params, model, model_admin, field_path)#
Bases:
django.contrib.admin.RelatedFieldListFilterA
datasetlist filter offering every dataset, private ones included.The stock filter reads through
Dataset’s privacy-first default manager, so for a portal whose datasets are still private it would offer no choices and never render.Initialization
- field_choices(field, request, model_admin)#
List every dataset as a choice, using
all_objectsto include private ones.
- class SampleDescriptionInline(parent_model, admin_site)#
Bases:
django.contrib.admin.StackedInlineInline admin for sample descriptions, capped at one row per vocabulary type.
Initialization
- model#
None
- extra#
0
- get_formset(request, obj=None, **kwargs)#
Cap the formset at the number of description types.
- class SampleDateInline(parent_model, admin_site)#
Bases:
django.contrib.admin.StackedInlineInline admin for sample dates, capped at one row per vocabulary type.
Initialization
- model#
None
- extra#
0
- get_formset(request, obj=None, **kwargs)#
Cap the formset at the number of date types.
- class SampleIdentifierInline(parent_model, admin_site)#
Bases:
django.contrib.admin.StackedInlineInline admin for sample identifiers, capped at one row per vocabulary type.
Initialization
- model#
None
- extra#
0
- get_formset(request, obj=None, **kwargs)#
Cap the formset at the number of identifier types.
- class SampleContributionInline(parent_model, admin_site)#
Bases:
django.contrib.contenttypes.admin.GenericTabularInlineInline admin for sample contributions.
Initialization
- model#
None
- extra#
0
- ct_field#
‘content_type’
- ct_fk_field#
‘object_id’
- class SampleRelationInline(parent_model, admin_site)#
Bases:
django.contrib.admin.TabularInlineInline admin for sample-to-sample relationships.
Initialization
- model#
None
- fk_name#
‘source’
- extra#
0
- fields#
[‘type’, ‘target’]
- class SampleChildAdmin(model: type[polymorphic.admin.childadmin._ModelT], admin_site: Any, *args: Any, **kwargs: Any)#
Bases:
polymorphic.admin.PolymorphicChildModelAdminBase admin for sample child models, with inlines for their related records.
Subclass it for each sample type and set
base_model. Declarebase_fieldsetsrather thanfieldsetsso the polymorphic admin can add the subclass’s own fields.Initialization
- list_display#
[‘name’, ‘dataset’, ‘status’, ‘sample_type’, ‘location’, ‘added’, ‘modified’]
- list_filter#
[(‘dataset’,), ‘status’, ‘added’]
- search_fields#
[‘name’, ‘local_id’, ‘uuid’]
- readonly_fields#
[‘uuid’, ‘added’, ‘modified’]
- autocomplete_fields#
[‘dataset’]
- inlines#
None
- formfield_for_foreignkey(db_field, request, **kwargs)#
Offer every dataset, not only the public ones.
- base_fieldsets#
((None,), (‘Metadata’,))
- sample_type(obj)#
Return the verbose name of the sample’s concrete class.
- class SampleParentAdmin(model: type[polymorphic.admin.parentadmin._ModelT], admin_site: Any, *args: Any, **kwargs: Any)#
Bases:
polymorphic.admin.PolymorphicParentModelAdminPolymorphic parent admin registered for
Sample.It offers the type selection when adding a sample and routes to the child admin of each registered subclass for editing.
Initialization
- base_model#
None
- list_display#
[‘name’, ‘dataset’, ‘status’, ‘sample_type’, ‘location’, ‘added’, ‘modified’]
- list_filter#
None
- search_fields#
[‘name’, ‘local_id’, ‘uuid’]
- sample_type(obj)#
Return the verbose name of the sample’s concrete class.
- get_child_models()#
Return every registered Sample subclass.