class _LoadElement(cache_key.HasCacheKey, traversals.HasShallowCopy, visitors.Traversible): (source)
Known subclasses: sqlalchemy.orm.strategy_options._AttributeStrategyLoad
, sqlalchemy.orm.strategy_options._ClassStrategyLoad
, sqlalchemy.orm.strategy_options._TokenStrategyLoad
represents strategy information to select for a LoaderStrategy and pass options to it. :class:`._LoadElement` objects provide the inner datastructure stored by a :class:`_orm.Load` object and are also the object passed to methods like :meth:`.LoaderStrategy.setup_query`. .. versionadded:: 2.0
Class Method | create |
Create a new :class:`._LoadElement` object. |
Method | __eq__ |
Undocumented |
Method | __getstate__ |
Undocumented |
Method | __hash__ |
Undocumented |
Method | __init__ |
Undocumented |
Method | __setstate__ |
Undocumented |
Method | process |
populate ORMCompileState.attributes with loader state for this _LoadElement. |
Class Variable | __slots__ |
Undocumented |
Class Variable | __visit |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | is |
Undocumented |
Class Variable | local |
Undocumented |
Class Variable | path |
Undocumented |
Class Variable | propagate |
Undocumented |
Class Variable | strategy |
Undocumented |
Property | is |
Undocumented |
Static Method | _reconcile |
define behavior for when two Load objects are to be put into the context.attributes under the same key. |
Method | _adjust |
receives the 'current_path' entry from an :class:`.ORMCompileState` instance, which is set during lazy loads and secondary loader strategy loads, and adjusts the given path to be relative to the current_path. |
Method | _clone |
Create a shallow copy |
Method | _init |
Apply ORM attributes and/or wildcard to an existing path, producing a new path. |
Method | _prepare |
implemented by subclasses. |
Method | _prepend |
adjust the path of this :class:`._LoadElement` to be a subpath of that of the given parent :class:`_orm.Load` object's path. |
Method | _raise |
Undocumented |
Method | _recurse |
Undocumented |
Method | _update |
Undocumented |
Class Variable | _cache |
Undocumented |
Class Variable | _extra |
Undocumented |
Class Variable | _reconcile |
Undocumented |
Class Variable | _traverse |
Undocumented |
Inherited from HasCacheKey
:
Class Variable | inherit |
Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass. |
Class Method | _generate |
generate cache key dispatcher for a new class. |
Class Method | _generate |
Undocumented |
Method | _gen |
return an optional cache key. |
Method | _generate |
return a cache key. |
Class Variable | _generated |
Undocumented |
Class Variable | _hierarchy |
private attribute which may be set to False to prevent the inherit_cache warning from being emitted for a hierarchy of subclasses. |
Class Variable | _is |
Undocumented |
Inherited from HasShallowCopy
(via HasCacheKey
):
Class Method | _generate |
Undocumented |
Class Method | _generate |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _generated |
Undocumented |
Method | _generated |
Undocumented |
Method | _generated |
Undocumented |
Method | _shallow |
Undocumented |
Method | _shallow |
Undocumented |
Method | _shallow |
Undocumented |
Inherited from HasTraverseInternals
(via HasCacheKey
, HasShallowCopy
):
Method | get |
Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`. |
Class Variable | _is |
Undocumented |
Inherited from Visitable
(via HasCacheKey
, HasShallowCopy
, HasTraverseInternals
):
Method | __class |
Undocumented |
Method | __init |
Undocumented |
Class Method | _generate |
Undocumented |
Method | _compiler |
Undocumented |
Class Variable | _original |
Undocumented |
def create(cls, path:
PathRegistry
, attr: Optional[ _AttrType]
, strategy: Optional[ _StrategyKey]
, wildcard_key: Optional[ _WildcardKeyType]
, local_opts: Optional[ _OptsType]
, propagate_to_loaders: bool
, raiseerr: bool
= True, attr_group: Optional[ _AttrGroupType]
= None, reconcile_to_other: Optional[ bool]
= None) -> _LoadElement
:
(source)
¶
Create a new :class:`._LoadElement` object.
populate ORMCompileState.attributes with loader state for this _LoadElement.
def _reconcile(replacement:
_LoadElement
, existing: _LoadElement
) -> _LoadElement
:
(source)
¶
define behavior for when two Load objects are to be put into the context.attributes under the same key. :param replacement: ``_LoadElement`` that seeks to replace the existing one :param existing: ``_LoadElement`` that is already present.
PathRegistry
, current_path: PathRegistry
) -> Optional[ PathRegistry]
:
(source)
¶
receives the 'current_path' entry from an :class:`.ORMCompileState` instance, which is set during lazy loads and secondary loader strategy loads, and adjusts the given path to be relative to the current_path. E.g. given a loader path and current path:: lp: User -> orders -> Order -> items -> Item -> keywords -> Keyword cp: User -> orders -> Order -> items The adjusted path would be:: Item -> keywords -> Keyword
sqlalchemy.orm.strategy_options._AttributeStrategyLoad
, sqlalchemy.orm.strategy_options._ClassStrategyLoad
, sqlalchemy.orm.strategy_options._TokenStrategyLoad
Apply ORM attributes and/or wildcard to an existing path, producing a new path. This method is used within the :meth:`.create` method to initialize a :class:`._LoadElement` object.
sqlalchemy.orm.strategy_options._AttributeStrategyLoad
, sqlalchemy.orm.strategy_options._ClassStrategyLoad
, sqlalchemy.orm.strategy_options._TokenStrategyLoad
implemented by subclasses.
adjust the path of this :class:`._LoadElement` to be a subpath of that of the given parent :class:`_orm.Load` object's path. This is used by the :meth:`_orm.Load._apply_to_parent` method, which is in turn part of the :meth:`_orm.Load.options` method.