class ColumnAdapter(ClauseAdapter): (source)
Known subclasses: sqlalchemy.orm.util.ORMAdapter
, sqlalchemy.orm.util.ORMStatementAdapter
Extends ClauseAdapter with extra utility functions. Key aspects of ColumnAdapter include: * Expressions that are adapted are stored in a persistent .columns collection; so that an expression E adapted into an expression E1, will return the same object E1 when adapted a second time. This is important in particular for things like Label objects that are anonymized, so that the ColumnAdapter can be used to present a consistent "adapted" view of things. * Exclusion of items from the persistent collection based on include/exclude rules, but also independent of hash identity. This because "annotated" items all have the same hash identity as their parent. * "wrapping" capability is added, so that the replacement of an expression E can proceed through a series of adapters. This differs from the visitor's "chaining" feature in that the resulting object is passed through all replacing functions unconditionally, rather than stopping at the first one that returns non-None. * An adapt_required option, used by eager loading to indicate that We don't trust a result row column that is not translated. This is to prevent a column from being interpreted as that of the child row in a self-referential scenario, see inheritance/test_basic.py->EagerTargetingTest.test_adapt_stringency
Method | __init__ |
Undocumented |
Method | adapt |
Undocumented |
Method | chain |
'Chain' an additional ExternalTraversal onto this ExternalTraversal |
Method | traverse |
Traverse and visit the given expression structure. |
Method | wrap |
Undocumented |
Class Variable | __slots__ |
Undocumented |
Instance Variable | adapt |
Undocumented |
Instance Variable | allow |
Undocumented |
Instance Variable | columns |
Undocumented |
Property | visitor |
Iterate through this visitor and each 'chained' visitor. |
Class | _ |
Undocumented |
Method | _locate |
Undocumented |
Instance Variable | _wrap |
Undocumented |
Inherited from ClauseAdapter
:
Method | replace |
Receive pre-copied elements during a cloning traversal. |
Instance Variable | __traverse |
Undocumented |
Instance Variable | adapt |
Undocumented |
Instance Variable | adapt |
Undocumented |
Instance Variable | equivalents |
Undocumented |
Instance Variable | exclude |
Undocumented |
Instance Variable | include |
Undocumented |
Instance Variable | selectable |
Undocumented |
Method | _corresponding |
Undocumented |
Inherited from CloningExternalTraversal
(via ClauseAdapter
, ReplacingExternalTraversal
):
Method | copy |
Apply cloned traversal to the given list of elements, and return the new list. |
Inherited from ExternalTraversal
(via ClauseAdapter
, ReplacingExternalTraversal
, CloningExternalTraversal
):
Method | iterate |
Traverse the given expression structure, returning an iterator of all elements. |
Method | traverse |
Undocumented |
Method | _memoized |
Undocumented |
Class Variable | _next |
Undocumented |
Inherited from MemoizedSlots
(via ClauseAdapter
, ReplacingExternalTraversal
, CloningExternalTraversal
, ExternalTraversal
):
Method | __getattr__ |
Undocumented |
Method | _fallback |
Undocumented |
Selectable
, equivalents: Optional[ _EquivalentColumnMap]
= None, adapt_required: bool
= False, include_fn: Optional[ Callable[ [ ClauseElement], bool]]
= None, exclude_fn: Optional[ Callable[ [ ClauseElement], bool]]
= None, adapt_on_names: bool
= False, allow_label_resolve: bool
= True, anonymize_labels: bool
= False, adapt_from_selectables: Optional[ AbstractSet[ FromClause]]
= None):
(source)
¶
Undocumented
'Chain' an additional ExternalTraversal onto this ExternalTraversal The chained visitor will receive all visit events after this one.