Models

Models for the mde-core app.

Models:

DataGroup(*args, **kwargs)

A DataGroup in the Model Data Explorer

DataGroupEdge(id, parent, child)

param id

Id

DataGroupNode(*args, **kwargs)

A node to display relations between data groups.

DataGroupRelation(*args, **kwargs)

An relation between two datagroups that awaits approval.

DataGroupUserGroup(*args, **kwargs)

A group with a certain role in a DataGroup

DataGroupUserRelation(*args, **kwargs)

A direct relation between a user and a data group.

Dataset(*args, **kwargs)

A dataset in the model data explorer.

DatasetDataGroupRelation(*args, **kwargs)

A permission for a relation.

DatasetRelationBase(*args, **kwargs)

Abstract base for a relation between dataset and user or group.

DatasetUserRelation(*args, **kwargs)

A permission for a relation.

Tag(*args, **kwargs)

A tag for a DataGroup or Dataset.

TagAlias(*args, **kwargs)

An alternative name for a Tag.

TagEdge(*args, **kwargs)

An edge for a DataGroup or Dataset Tag.

Classes:

DatasetRelationBaseManager(*args, **kwargs)

DatasetRelationBaseQueryset([model, query, ...])

Functions:

create_datagroup_nodes(instance, created, ...)

update_datagroup_tree(instance, **kwargs)

class mde_core.models.DataGroup(*args, **kwargs)

Bases: Model

A DataGroup in the Model Data Explorer

Parameters
  • uuid (UUIDField) – Uuid

  • name (CharField) – Name

  • tags (ManyToManyField) – Tags

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Attributes:

datagroupnode_set

Model field: datagroup, accesses the M2M DataGroupNode model.

datagrouprelation_child

Model field: child group, accesses the M2M DataGroupRelation model.

datagrouprelation_parent

Model field: parent group, accesses the M2M DataGroupRelation model.

datagroupusergroup_set

Model field: datagroup, accesses the M2M DataGroupUserGroup model.

datagroupuserrelation_set

Model field: datagroup, accesses the M2M DataGroupUserRelation model.

datasetdatagrouprelation_set

Model field: related party, accesses the M2M DatasetDataGroupRelation model.

objects

tags

Model field: tags, accesses the M2M DataGroup model.

Model Fields:

name

Model field: name

uuid

Model field: uuid

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

datagroupnode_set: models.manager.RelatedManager[DataGroupNode]

Model field: datagroup, accesses the M2M DataGroupNode model.

datagrouprelation_child

Model field: child group, accesses the M2M DataGroupRelation model.

datagrouprelation_parent

Model field: parent group, accesses the M2M DataGroupRelation model.

datagroupusergroup_set

Model field: datagroup, accesses the M2M DataGroupUserGroup model.

datagroupuserrelation_set

Model field: datagroup, accesses the M2M DataGroupUserRelation model.

datasetdatagrouprelation_set

Model field: related party, accesses the M2M DatasetDataGroupRelation model.

name

Model field: name

objects = <django.db.models.manager.Manager object>
tags

Model field: tags, accesses the M2M DataGroup model.

uuid

Model field: uuid

class mde_core.models.DataGroupEdge(id, parent, child)

Bases: Edge

Parameters

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Model Fields:

child

Model field: child, accesses the DataGroupNode model.

id

Model field: ID

parent

Model field: parent, accesses the DataGroupNode model.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

child

Model field: child, accesses the DataGroupNode model.

id

Model field: ID

parent

Model field: parent, accesses the DataGroupNode model.

class mde_core.models.DataGroupNode(*args, **kwargs)

Bases: Node

A node to display relations between data groups.

Parameters
  • id (BigAutoField) – Id

  • tree_type (CharField) – Tree type

  • datagroup (ForeignKey to DataGroup) – Datagroup

  • children (ManyToManyField) – Children

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Classes:

TreeType(value)

Type of the tree for a datagroup.

Attributes:

children

Model field: children, accesses the M2M DataGroupNode model.

children_edges

Model field: parent, accesses the M2M DataGroupEdge model.

datagroup_id

Model field: datagroup

parent_edges

Model field: child, accesses the M2M DataGroupEdge model.

parents

Model field: children, accesses the M2M DataGroupNode model.

Model Fields:

datagroup

Model field: datagroup, accesses the DataGroup model.

id

Model field: ID

tree_type

Model field: tree type

Methods:

get_tree_type_display(*[, field])

Autogenerated: Shows the label of the tree_type

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

class TreeType(value)

Bases: TextChoices

Type of the tree for a datagroup.

Attributes:

list_tree

member_tree

parent_tree

list_tree = 'LIST'
member_tree = 'MEMBER'
parent_tree = 'PARENT'
children

Model field: children, accesses the M2M DataGroupNode model.

children_edges

Model field: parent, accesses the M2M DataGroupEdge model.

datagroup

Model field: datagroup, accesses the DataGroup model.

datagroup_id

Model field: datagroup

get_tree_type_display(*, field=<django.db.models.fields.CharField: tree_type>)

Autogenerated: Shows the label of the tree_type

id

Model field: ID

parent_edges

Model field: child, accesses the M2M DataGroupEdge model.

parents

Model field: children, accesses the M2M DataGroupNode model.

tree_type

Model field: tree type

class mde_core.models.DataGroupRelation(*args, **kwargs)

Bases: Model

An relation between two datagroups that awaits approval.

Parameters
  • id (BigAutoField) – Id

  • child_group (ForeignKey to DataGroup) – Child group

  • parent_group (ForeignKey to DataGroup) – Parent group

  • child_approved (BooleanField) – Child approved

  • parent_approved (BooleanField) – Parent approved

  • child_approved_by (ForeignKey to User) – Child approved by

  • parent_approved_by (ForeignKey to User) – Parent approved by

  • tree_type (CharField) – Tree type

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Model Fields:

child_approved

Model field: child approved

child_approved_by

Model field: child approved by, accesses the User model.

child_group

Model field: child group, accesses the DataGroup model.

id

Model field: ID

parent_approved

Model field: parent approved

parent_approved_by

Model field: parent approved by, accesses the User model.

parent_group

Model field: parent group, accesses the DataGroup model.

tree_type

Model field: tree type

Attributes:

child_approved_by_id

Model field: child approved by

child_group_id

Model field: child group

objects

parent_approved_by_id

Model field: parent approved by

parent_group_id

Model field: parent group

Methods:

get_tree_type_display(*[, field])

Autogenerated: Shows the label of the tree_type

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

child_approved

Model field: child approved

child_approved_by

Model field: child approved by, accesses the User model.

child_approved_by_id

Model field: child approved by

child_group

Model field: child group, accesses the DataGroup model.

child_group_id

Model field: child group

get_tree_type_display(*, field=<django.db.models.fields.CharField: tree_type>)

Autogenerated: Shows the label of the tree_type

id

Model field: ID

objects = <django.db.models.manager.Manager object>
parent_approved

Model field: parent approved

parent_approved_by

Model field: parent approved by, accesses the User model.

parent_approved_by_id

Model field: parent approved by

parent_group

Model field: parent group, accesses the DataGroup model.

parent_group_id

Model field: parent group

tree_type

Model field: tree type

class mde_core.models.DataGroupUserGroup(*args, **kwargs)

Bases: Group

A group with a certain role in a DataGroup

Parameters
  • id (AutoField) – Id

  • name (CharField) – Name

  • permissions (ManyToManyField) – Permissions

  • group_ptr (OneToOneField to Group) – Group ptr

  • datagroup (ForeignKey to DataGroup) – Datagroup

  • role (CharField) – Role

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Classes:

Roles(value)

An enumeration.

Model Fields:

datagroup

Model field: datagroup, accesses the DataGroup model.

group_ptr

Model field: group ptr, accesses the Group model.

role

Model field: role

Attributes:

datagroup_id

Model field: datagroup

group_ptr_id

Model field: group ptr

Methods:

get_role_display(*[, field])

Autogenerated: Shows the label of the role

exception DoesNotExist

Bases: DoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

class Roles(value)

Bases: TextChoices

An enumeration.

Attributes:

data_editor

data_manager

editor

member

owner

data_editor = 'DATAEDITOR'
data_manager = 'DATAMANAGER'
editor = 'EDITOR'
member = 'MEMBER'
owner = 'OWNER'
datagroup

Model field: datagroup, accesses the DataGroup model.

datagroup_id

Model field: datagroup

get_role_display(*, field=<django.db.models.fields.CharField: role>)

Autogenerated: Shows the label of the role

group_ptr

Model field: group ptr, accesses the Group model.

group_ptr_id

Model field: group ptr

role

Model field: role

class mde_core.models.DataGroupUserRelation(*args, **kwargs)

Bases: Model

A direct relation between a user and a data group.

Parameters
  • id (BigAutoField) – Id

  • datagroup (ForeignKey to DataGroup) – Datagroup

  • user (ForeignKey to User) – User

  • role (CharField) – Role

  • datagroup_approved_by (ForeignKey to User) – Datagroup approved by

  • user_approved_by (ForeignKey to User) – User approved by

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Model Fields:

datagroup

Model field: datagroup, accesses the DataGroup model.

datagroup_approved_by

Model field: datagroup approved by, accesses the User model.

id

Model field: ID

role

Model field: role

user

Model field: user, accesses the User model.

user_approved_by

Model field: user approved by, accesses the User model.

Attributes:

datagroup_approved_by_id

Model field: datagroup approved by

datagroup_id

Model field: datagroup

objects

user_approved_by_id

Model field: user approved by

user_id

Model field: user

Methods:

get_role_display(*[, field])

Autogenerated: Shows the label of the role

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

datagroup

Model field: datagroup, accesses the DataGroup model.

datagroup_approved_by

Model field: datagroup approved by, accesses the User model.

datagroup_approved_by_id

Model field: datagroup approved by

datagroup_id

Model field: datagroup

get_role_display(*, field=<django.db.models.fields.CharField: role>)

Autogenerated: Shows the label of the role

id

Model field: ID

objects = <django.db.models.manager.Manager object>
role

Model field: role

user

Model field: user, accesses the User model.

user_approved_by

Model field: user approved by, accesses the User model.

user_approved_by_id

Model field: user approved by

user_id

Model field: user

class mde_core.models.Dataset(*args, **kwargs)

Bases: Model

A dataset in the model data explorer.

Parameters
  • uuid (UUIDField) – Uuid

  • name (CharField) – Name

  • tags (ManyToManyField) – Tags

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Attributes:

datasetdatagrouprelation

Model field: dataset, accesses the M2M DatasetDataGroupRelation model.

datasetuserrelation

Model field: dataset, accesses the M2M DatasetUserRelation model.

list_datagroups

Get the datagroups with list permissions on the dataset.

objects

tags

Model field: tags, accesses the M2M Dataset model.

Model Fields:

name

Model field: name

uuid

Model field: uuid

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

datasetdatagrouprelation

Model field: dataset, accesses the M2M DatasetDataGroupRelation model.

datasetuserrelation

Model field: dataset, accesses the M2M DatasetUserRelation model.

property list_datagroups: QuerySet

Get the datagroups with list permissions on the dataset.

name

Model field: name

objects = <django.db.models.manager.Manager object>
tags

Model field: tags, accesses the M2M Dataset model.

uuid

Model field: uuid

class mde_core.models.DatasetDataGroupRelation(*args, **kwargs)

Bases: DatasetRelationBase

A permission for a relation.

Parameters
  • id (BigAutoField) – Id

  • dataset (ForeignKey to Dataset) – Dataset

  • role (CharField) – Role

  • dataset_approved (BooleanField) – Dataset approved

  • related_party_approved (BooleanField) – Related party approved

  • dataset_approved_by (ForeignKey to User) – Dataset approved by

  • related_party_approved_by (ForeignKey to User) – Related party approved by

  • related_party (ForeignKey to DataGroup) – Related party

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Model Fields:

dataset

Model field: dataset, accesses the Dataset model.

dataset_approved_by

Model field: dataset approved by, accesses the User model.

id

Model field: ID

related_party

Model field: related party, accesses the DataGroup model.

related_party_approved_by

Model field: related party approved by, accesses the User model.

Methods:

get_role_display(*[, field])

Autogenerated: Shows the label of the role

Attributes:

related_party_id

Model field: related party

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

dataset

Model field: dataset, accesses the Dataset model.

dataset_approved_by

Model field: dataset approved by, accesses the User model.

get_role_display(*, field=<django.db.models.fields.CharField: role>)

Autogenerated: Shows the label of the role

id

Model field: ID

related_party

Model field: related party, accesses the DataGroup model.

related_party_approved_by

Model field: related party approved by, accesses the User model.

related_party_id

Model field: related party

class mde_core.models.DatasetRelationBase(*args, **kwargs)

Bases: Model

Abstract base for a relation between dataset and user or group.

Parameters
  • dataset (ForeignKey to Dataset) – Dataset

  • role (CharField) – Role

  • dataset_approved (BooleanField) – Dataset approved

  • related_party_approved (BooleanField) – Related party approved

  • dataset_approved_by (ForeignKey to User) – Dataset approved by

  • related_party_approved_by (ForeignKey to User) – Related party approved by

Classes:

Roles(value)

An enumeration.

Model Fields:

dataset

Model field: dataset, accesses the Dataset model.

dataset_approved

Model field: dataset approved

dataset_approved_by

Model field: dataset approved by, accesses the User model.

related_party_approved

Model field: related party approved

related_party_approved_by

Model field: related party approved by, accesses the User model.

role

Model field: role

Attributes:

dataset_approved_by_id

Model field: dataset approved by

dataset_id

Model field: dataset

objects

related_party_approved_by_id

Model field: related party approved by

Methods:

get_role_display(*[, field])

Autogenerated: Shows the label of the role

class Roles(value)

Bases: TextChoices

An enumeration.

Attributes:

data_editor

data_manager

editor

member

owner

data_editor = 'DATAEDITOR'
data_manager = 'DATAMANAGER'
editor = 'EDITOR'
member = 'MEMBER'
owner = 'OWNER'
dataset

Model field: dataset, accesses the Dataset model.

dataset_approved

Model field: dataset approved

dataset_approved_by

Model field: dataset approved by, accesses the User model.

dataset_approved_by_id

Model field: dataset approved by

dataset_id

Model field: dataset

get_role_display(*, field=<django.db.models.fields.CharField: role>)

Autogenerated: Shows the label of the role

objects = <mde_core.models.DatasetRelationBaseManager object>
related_party_approved

Model field: related party approved

related_party_approved_by

Model field: related party approved by, accesses the User model.

related_party_approved_by_id

Model field: related party approved by

role

Model field: role

class mde_core.models.DatasetRelationBaseManager(*args, **kwargs)

Bases: ManagerFromDatasetRelationBaseQueryset

class mde_core.models.DatasetRelationBaseQueryset(model=None, query=None, using=None, hints=None)

Bases: QuerySet

Methods:

get_approved(**kwargs)

get_approved(**kwargs)
class mde_core.models.DatasetUserRelation(*args, **kwargs)

Bases: DatasetRelationBase

A permission for a relation.

Parameters
  • id (BigAutoField) – Id

  • dataset (ForeignKey to Dataset) – Dataset

  • role (CharField) – Role

  • dataset_approved (BooleanField) – Dataset approved

  • related_party_approved (BooleanField) – Related party approved

  • dataset_approved_by (ForeignKey to User) – Dataset approved by

  • related_party_approved_by (ForeignKey to User) – Related party approved by

  • related_party (ForeignKey to User) – Related party

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Model Fields:

dataset

Model field: dataset, accesses the Dataset model.

dataset_approved_by

Model field: dataset approved by, accesses the User model.

id

Model field: ID

related_party

Model field: related party, accesses the User model.

related_party_approved_by

Model field: related party approved by, accesses the User model.

Methods:

get_role_display(*[, field])

Autogenerated: Shows the label of the role

Attributes:

related_party_id

Model field: related party

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

dataset

Model field: dataset, accesses the Dataset model.

dataset_approved_by

Model field: dataset approved by, accesses the User model.

get_role_display(*, field=<django.db.models.fields.CharField: role>)

Autogenerated: Shows the label of the role

id

Model field: ID

related_party

Model field: related party, accesses the User model.

related_party_approved_by

Model field: related party approved by, accesses the User model.

related_party_id

Model field: related party

class mde_core.models.Tag(*args, **kwargs)

Bases: Node

A tag for a DataGroup or Dataset.

Parameters
  • id (BigAutoField) – Id

  • name (CharField) – Name

  • children (ManyToManyField) – Children

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Attributes:

children

Model field: children, accesses the M2M Tag model.

children_edges

Model field: parent, accesses the M2M TagEdge model.

datagroup_set

Model field: tags, accesses the M2M DataGroup model.

dataset_set

Model field: tags, accesses the M2M Dataset model.

parent_edges

Model field: child, accesses the M2M TagEdge model.

parents

Model field: children, accesses the M2M Tag model.

tagalias_set

Model field: tag, accesses the M2M TagAlias model.

Model Fields:

id

Model field: ID

name

Model field: name

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

children

Model field: children, accesses the M2M Tag model.

children_edges

Model field: parent, accesses the M2M TagEdge model.

datagroup_set

Model field: tags, accesses the M2M DataGroup model.

dataset_set

Model field: tags, accesses the M2M Dataset model.

id

Model field: ID

name

Model field: name

parent_edges

Model field: child, accesses the M2M TagEdge model.

parents

Model field: children, accesses the M2M Tag model.

tagalias_set

Model field: tag, accesses the M2M TagAlias model.

class mde_core.models.TagAlias(*args, **kwargs)

Bases: Model

An alternative name for a Tag.

Parameters
  • id (BigAutoField) – Id

  • name (CharField) – Name

  • tag (ForeignKey to Tag) – Tag

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Model Fields:

id

Model field: ID

name

Model field: name

tag

Model field: tag, accesses the Tag model.

Attributes:

objects

tag_id

Model field: tag

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

id

Model field: ID

name

Model field: name

objects = <django.db.models.manager.Manager object>
tag

Model field: tag, accesses the Tag model.

tag_id

Model field: tag

class mde_core.models.TagEdge(*args, **kwargs)

Bases: Edge

An edge for a DataGroup or Dataset Tag.

Parameters
  • id (BigAutoField) – Id

  • parent (ForeignKey to Tag) – Parent

  • child (ForeignKey to Tag) – Child

Miscellaneous:

DoesNotExist

MultipleObjectsReturned

Model Fields:

child

Model field: child, accesses the Tag model.

id

Model field: ID

parent

Model field: parent, accesses the Tag model.

exception DoesNotExist

Bases: ObjectDoesNotExist

exception MultipleObjectsReturned

Bases: MultipleObjectsReturned

child

Model field: child, accesses the Tag model.

id

Model field: ID

parent

Model field: parent, accesses the Tag model.

mde_core.models.create_datagroup_nodes(instance: DataGroup, created: bool, **kwargs)
mde_core.models.update_datagroup_tree(instance: DataGroupRelation, **kwargs)