MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / __init__

Method __init__

lib/sqlalchemy/orm/util.py:939–1013  ·  view source on GitHub ↗
(
        self,
        entity: AliasedClass[_O],
        inspected: _InternalEntityType[_O],
        selectable: FromClause,
        name: Optional[str],
        with_polymorphic_mappers: Optional[Sequence[Mapper[Any]]],
        polymorphic_on: Optional[ColumnElement[Any]],
        _base_alias: Optional[AliasedInsp[Any]],
        _use_mapper_path: bool,
        adapt_on_names: bool,
        represents_outer_join: bool,
        nest_adapters: bool,
    )

Source from the content-addressed store, hash-verified

937 """
938
939 def __init__(
940 self,
941 entity: AliasedClass[_O],
942 inspected: _InternalEntityType[_O],
943 selectable: FromClause,
944 name: Optional[str],
945 with_polymorphic_mappers: Optional[Sequence[Mapper[Any]]],
946 polymorphic_on: Optional[ColumnElement[Any]],
947 _base_alias: Optional[AliasedInsp[Any]],
948 _use_mapper_path: bool,
949 adapt_on_names: bool,
950 represents_outer_join: bool,
951 nest_adapters: bool,
952 ):
953 mapped_class_or_ac = inspected.entity
954 mapper = inspected.mapper
955
956 self._weak_entity = weakref.ref(entity)
957 self.mapper = mapper
958 self.selectable = self.persist_selectable = self.local_table = (
959 selectable
960 )
961 self.name = name
962 self.polymorphic_on = polymorphic_on
963 self._base_alias = weakref.ref(_base_alias or self)
964 self._use_mapper_path = _use_mapper_path
965 self.represents_outer_join = represents_outer_join
966 self._nest_adapters = nest_adapters
967
968 if with_polymorphic_mappers:
969 self._is_with_polymorphic = True
970 self.with_polymorphic_mappers = with_polymorphic_mappers
971 self._with_polymorphic_entities = []
972 for poly in self.with_polymorphic_mappers:
973 if poly is not mapper:
974 ent = AliasedClass(
975 poly.class_,
976 selectable,
977 base_alias=self,
978 adapt_on_names=adapt_on_names,
979 use_mapper_path=_use_mapper_path,
980 )
981
982 setattr(self.entity, poly.class_.__name__, ent)
983 self._with_polymorphic_entities.append(ent._aliased_insp)
984
985 else:
986 self._is_with_polymorphic = False
987 self.with_polymorphic_mappers = [mapper]
988
989 self._adapter = ORMAdapter(
990 _TraceAdaptRole.ALIASED_INSP,
991 mapper,
992 selectable=selectable,
993 equivalents=mapper._equivalent_columns,
994 adapt_on_names=adapt_on_names,
995 anonymize_labels=True,
996 # make sure the adapter doesn't try to grab other tables that

Callers 1

__setstate__Method · 0.95

Calls 4

AliasedClassClass · 0.85
ORMAdapterClass · 0.85
appendMethod · 0.45
wrapMethod · 0.45

Tested by

no test coverage detected