MCPcopy
hub / github.com/tortoise/tortoise-orm / build_meta

Method build_meta

tortoise/models.py:685–714  ·  view source on GitHub ↗
(
        meta_class: Model.Meta,
        fields_map: dict[str, Field],
        fields_db_projection: dict[str, str],
        filters: dict[str, FilterInfoDict],
        fk_fields: set[str],
        o2o_fields: set[str],
        m2m_fields: set[str],
        pk_attr: str,
    )

Source from the content-addressed store, hash-verified

683
684 @staticmethod
685 def build_meta(
686 meta_class: Model.Meta,
687 fields_map: dict[str, Field],
688 fields_db_projection: dict[str, str],
689 filters: dict[str, FilterInfoDict],
690 fk_fields: set[str],
691 o2o_fields: set[str],
692 m2m_fields: set[str],
693 pk_attr: str,
694 ) -> MetaInfo:
695 meta = MetaInfo(meta_class)
696 meta.fields_map = fields_map
697 meta.fields_db_projection = fields_db_projection
698 meta._filters = filters
699 meta.fk_fields = fk_fields
700 meta.o2o_fields = o2o_fields
701 meta.m2m_fields = m2m_fields
702 meta.pk_attr = pk_attr
703 if pk_field := fields_map.get(pk_attr):
704 meta.pk = pk_field
705 if pk_field.source_field:
706 meta.db_pk_column = pk_field.source_field
707 elif isinstance(pk_field, OneToOneFieldInstance):
708 meta.db_pk_column = f"{pk_attr}_id"
709 else:
710 meta.db_pk_column = pk_attr
711 meta._inited = False
712 if not fields_map:
713 meta.abstract = True
714 return meta
715
716 def __getitem__(cls: type[MODEL], key: Any) -> QuerySetSingle[MODEL]: # type: ignore
717 return cls._getbypk(key) # type: ignore

Callers 1

__new__Method · 0.80

Calls 2

MetaInfoClass · 0.85
getMethod · 0.45

Tested by

no test coverage detected