1.7 KiB
1.7 KiB
models.traversible
NodeList Objects
class NodeList()
Helper class that helps with iterating nested models
add
| add(node_class: Type["RelationMixin"], relation_name: str = None, parent_node: "Node" = None) -> "Node"
Adds new Node or returns the existing one
Arguments:
node_class (ormar.models.metaclass.ModelMetaclass): Model in current noderelation_name (str): name of the current relationparent_node (Optional[Node]): parent node
Returns:
(Node): returns new or already existing node
find
| find(node_class: Type["RelationMixin"], relation_name: Optional[str] = None, parent_node: "Node" = None) -> Optional["Node"]
Searches for existing node with given parameters
Arguments:
node_class (ormar.models.metaclass.ModelMetaclass): Model in current noderelation_name (str): name of the current relationparent_node (Optional[Node]): parent node
Returns:
(Optional[Node]): returns already existing node or None
Node Objects
class Node()
visited
| visited(relation_name: str) -> bool
Checks if given relation was already visited.
Relation was visited if it's name is in current node children.
Relation was visited if one of the parent node had the same Model class
Arguments:
relation_name (str): name of relation
Returns:
(bool): result of the check