MCPcopy
hub / github.com/sqlalchemy/sqlalchemy / _alias_factory

Method _alias_factory

lib/sqlalchemy/orm/util.py:1020–1049  ·  view source on GitHub ↗
(
        cls,
        element: Union[_EntityType[_O], FromClause],
        alias: Optional[FromClause] = None,
        name: Optional[str] = None,
        flat: bool = False,
        adapt_on_names: bool = False,
    )

Source from the content-addressed store, hash-verified

1018
1019 @classmethod
1020 def _alias_factory(
1021 cls,
1022 element: Union[_EntityType[_O], FromClause],
1023 alias: Optional[FromClause] = None,
1024 name: Optional[str] = None,
1025 flat: bool = False,
1026 adapt_on_names: bool = False,
1027 ) -> Union[AliasedClass[_O], FromClause]:
1028 if isinstance(element, FromClause):
1029 if adapt_on_names:
1030 raise sa_exc.ArgumentError(
1031 "adapt_on_names only applies to ORM elements"
1032 )
1033 if name:
1034 return element.alias(name=name, flat=flat)
1035 else:
1036 # see selectable.py->Alias._factory() for similar
1037 # mypy issue. Cannot get the overload to see this
1038 # in mypy (works fine in pyright)
1039 return coercions.expect( # type: ignore[no-any-return]
1040 roles.AnonymizedFromClauseRole, element, flat=flat
1041 )
1042 else:
1043 return AliasedClass(
1044 element,
1045 alias=alias,
1046 flat=flat,
1047 name=name,
1048 adapt_on_names=adapt_on_names,
1049 )
1050
1051 @classmethod
1052 def _with_polymorphic_factory(

Callers 1

aliasedFunction · 0.80

Calls 2

AliasedClassClass · 0.85
aliasMethod · 0.45

Tested by

no test coverage detected