Files
ormar/docs/api/models/mixins/relation-mixin.md
collerek 96c9615229 add docs
2021-06-08 14:34:02 +02:00

3.0 KiB

models.mixins.relation_mixin

RelationMixin Objects

class RelationMixin()

Used to return relation fields/names etc. from given model

extract_db_own_fields

 | @classmethod
 | extract_db_own_fields(cls) -> Set

Returns only fields that are stored in the own database table, exclude all related fields.

Returns:

Set: set of model fields with relation fields excluded

 | @classmethod
 | extract_related_fields(cls) -> List["ForeignKeyField"]

Returns List of ormar Fields for all relations declared on a model. List is cached in cls._related_fields for quicker access.

Returns:

List: list of related fields

extract_through_names

 | @classmethod
 | extract_through_names(cls) -> Set[str]

Extracts related fields through names which are shortcuts to through models.

Returns:

Set: set of related through fields names

 | @classmethod
 | extract_related_names(cls) -> Set[str]

Returns List of fields names for all relations declared on a model. List is cached in cls._related_names for quicker access.

Returns:

Set: set of related fields names

 | @classmethod
 | _extract_db_related_names(cls) -> Set

Returns only fields that are stored in the own database table, exclude related fields that are not stored as foreign keys on given model.

Returns:

Set: set of model fields with non fk relation fields excluded

 | @classmethod
 | _iterate_related_models(cls, node_list: NodeList = None, source_relation: str = None) -> List[str]

Iterates related models recursively to extract relation strings of nested not visited models.

Returns:

List[str]: list of relation strings to be passed to select_related

_get_final_relations

 | @staticmethod
 | _get_final_relations(processed_relations: List, source_relation: Optional[str]) -> List[str]

Helper method to prefix nested relation strings with current source relation

Arguments:

  • processed_relations (List[str]): list of already processed relation str
  • source_relation (str): name of the current relation

Returns:

List[str]: list of relation strings to be passed to select_related