mdocument.model.relations.RelationOneToOne

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

Bases: mdocument.model.relations.Relation

One parent one child.

Updates field when parent/child changes. Creates unique index for field.

__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 child if parent is deleted.

get_collections(client)

Gets parent and child connection.

register(parent_field, child_field)

Saves relation to Model relations map.

update(client, document)

Updates children field value.

Attributes

child_document_cls

child_model

parent_document_cls

parent_model

abstract async create_index()

Creates index for relation.

async delete(client, document, session=None)

Deletes child if parent is deleted.

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.

async update(client, document)

Updates children field value.