mdocument.model.relations.Relation

class mdocument.model.relations.Relation(parent_field: mdocument.model.field.Field, child_field: mdocument.model.field.Field)

Bases: object

__init__(parent_field: mdocument.model.field.Field, child_field: mdocument.model.field.Field)

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(parent_field, child_field)

Initialize self.

create_index()

Creates index for relation.

delete(client, document[, session])

Deletes related documents.

get_collections(client)

Gets parent and child connection.

register(parent_field, child_field)

Saves relation to Model relations map.

update(client, document)

Updates related documents.

Attributes

child_document_cls

child_model

parent_document_cls

parent_model

abstract async create_index()

Creates index for relation.

abstract async delete(client, document, session=None)

Deletes related documents.

get_collections(client) → Tuple[AsyncIOMotorCollection, AsyncIOMotorCollection]

Gets parent and child connection.

classmethod register(parent_field: Union[mdocument.model.field.Field, Type[mdocument.document.MDocument], Type[mdocument.model.model.Model]], child_field: mdocument.model.field.Field)

Saves relation to Model relations map.

abstract async update(client, document)

Updates related documents.