class documentation

base for classes that have a "traverse internals" element, which defines all kinds of ways of traversing the elements of an object. Compared to :class:`.Visitable`, which relies upon an external visitor to define how the object is travered (i.e. the :class:`.SQLCompiler`), the :class:`.HasTraverseInternals` interface allows classes to define their own traversal, that is, what attributes are accessed and in what order.

Method get_children Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`.
Class Variable __slots__ Undocumented
Class Variable _is_immutable Undocumented
Class Variable _traverse_internals Undocumented
@util.preload_module('sqlalchemy.sql.traversals')
def get_children(self, *, omit_attrs: Tuple[str, ...] = (), **kw: Any) -> Iterable[HasTraverseInternals]: (source)

Return immediate child :class:`.visitors.HasTraverseInternals` elements of this :class:`.visitors.HasTraverseInternals`. This is used for visit traversal. \**kw may contain flags that change the collection that is returned, for example to return a subset of items in order to cut down on larger traversals, or to return child items from a different context (such as schema-level collections instead of clause-level).

overridden in sqlalchemy.dialects.postgresql.aggregate_order_by, sqlalchemy.dialects.postgresql.aggregate_order_by, sqlalchemy.dialects.postgresql.aggregate_order_by, sqlalchemy.orm.context.FromStatement, sqlalchemy.orm.context.FromStatement, sqlalchemy.orm.context.FromStatement, sqlalchemy.orm.context.FromStatement, sqlalchemy.orm.context.FromStatement, sqlalchemy.orm.context.FromStatement, sqlalchemy.orm.strategy_options.Load, sqlalchemy.orm.strategy_options.Load, sqlalchemy.orm.util.LoaderCriteriaOption, sqlalchemy.sql.dml.Delete, sqlalchemy.sql.dml.Delete, sqlalchemy.sql.dml.Delete, sqlalchemy.sql.dml.Delete, sqlalchemy.sql.dml.Delete, sqlalchemy.sql.dml.Delete, sqlalchemy.sql.dml.Delete, sqlalchemy.sql.dml.Delete, sqlalchemy.sql.dml.Delete, sqlalchemy.sql.dml.Insert, sqlalchemy.sql.dml.Insert, sqlalchemy.sql.dml.Insert, sqlalchemy.sql.dml.Insert, sqlalchemy.sql.dml.Insert, sqlalchemy.sql.dml.Insert, sqlalchemy.sql.dml.Insert, sqlalchemy.sql.dml.Insert, sqlalchemy.sql.dml.Insert, sqlalchemy.sql.dml.Update, sqlalchemy.sql.dml.Update, sqlalchemy.sql.dml.Update, sqlalchemy.sql.dml.Update, sqlalchemy.sql.dml.Update, sqlalchemy.sql.dml.Update, sqlalchemy.sql.dml.Update, sqlalchemy.sql.dml.Update, sqlalchemy.sql.dml.Update, sqlalchemy.sql.elements.BinaryExpression, sqlalchemy.sql.elements.BinaryExpression, sqlalchemy.sql.elements.BinaryExpression, sqlalchemy.sql.elements.BindParameter, sqlalchemy.sql.elements.BindParameter, sqlalchemy.sql.elements.BindParameter, sqlalchemy.sql.elements.Case, sqlalchemy.sql.elements.Case, sqlalchemy.sql.elements.Case, sqlalchemy.sql.elements.Cast, sqlalchemy.sql.elements.Cast, sqlalchemy.sql.elements.Cast, sqlalchemy.sql.elements.ClauseList, sqlalchemy.sql.elements.ClauseList, sqlalchemy.sql.elements.ClauseList, sqlalchemy.sql.elements.CollationClause, sqlalchemy.sql.elements.CollationClause, sqlalchemy.sql.elements.CollationClause, sqlalchemy.sql.elements.ColumnClause, sqlalchemy.sql.elements.ColumnClause, sqlalchemy.sql.elements.ColumnClause, sqlalchemy.sql.elements.ExpressionClauseList, sqlalchemy.sql.elements.ExpressionClauseList, sqlalchemy.sql.elements.ExpressionClauseList, sqlalchemy.sql.elements.Extract, sqlalchemy.sql.elements.Extract, sqlalchemy.sql.elements.Extract, sqlalchemy.sql.elements.False_, sqlalchemy.sql.elements.False_, sqlalchemy.sql.elements.False_, sqlalchemy.sql.elements.FunctionFilter, sqlalchemy.sql.elements.FunctionFilter, sqlalchemy.sql.elements.FunctionFilter, sqlalchemy.sql.elements.Grouping, sqlalchemy.sql.elements.Grouping, sqlalchemy.sql.elements.Grouping, sqlalchemy.sql.elements.Grouping, sqlalchemy.sql.elements.Grouping, sqlalchemy.sql.elements.Grouping, sqlalchemy.sql.elements.Label, sqlalchemy.sql.elements.Label, sqlalchemy.sql.elements.Label, sqlalchemy.sql.elements.Null, sqlalchemy.sql.elements.Null, sqlalchemy.sql.elements.Null, sqlalchemy.sql.elements.Over, sqlalchemy.sql.elements.Over, sqlalchemy.sql.elements.Over, sqlalchemy.sql.elements.Slice, sqlalchemy.sql.elements.Slice, sqlalchemy.sql.elements.Slice, sqlalchemy.sql.elements.TableValuedColumn, sqlalchemy.sql.elements.TableValuedColumn, sqlalchemy.sql.elements.TableValuedColumn, sqlalchemy.sql.elements.TextClause, sqlalchemy.sql.elements.TextClause, sqlalchemy.sql.elements.TextClause, sqlalchemy.sql.elements.True_, sqlalchemy.sql.elements.True_, sqlalchemy.sql.elements.True_, sqlalchemy.sql.elements.Tuple, sqlalchemy.sql.elements.Tuple, sqlalchemy.sql.elements.Tuple, sqlalchemy.sql.elements.TypeClause, sqlalchemy.sql.elements.TypeClause, sqlalchemy.sql.elements.TypeClause, sqlalchemy.sql.elements.TypeCoerce, sqlalchemy.sql.elements.TypeCoerce, sqlalchemy.sql.elements.TypeCoerce, sqlalchemy.sql.elements.UnaryExpression, sqlalchemy.sql.elements.UnaryExpression, sqlalchemy.sql.elements.UnaryExpression, sqlalchemy.sql.elements.WithinGroup, sqlalchemy.sql.elements.WithinGroup, sqlalchemy.sql.elements.WithinGroup, sqlalchemy.sql.functions.FunctionElement, sqlalchemy.sql.functions.FunctionElement, sqlalchemy.sql.functions.FunctionElement, sqlalchemy.sql.functions.FunctionElement, sqlalchemy.sql.functions.FunctionElement, sqlalchemy.sql.functions.FunctionElement, sqlalchemy.sql.functions.ScalarFunctionColumn, sqlalchemy.sql.functions.ScalarFunctionColumn, sqlalchemy.sql.functions.ScalarFunctionColumn, sqlalchemy.sql.lambdas.LambdaElement, sqlalchemy.sql.lambdas.LambdaElement, sqlalchemy.sql.lambdas.LambdaElement, sqlalchemy.sql.lambdas.NullLambdaStatement, sqlalchemy.sql.lambdas.NullLambdaStatement, sqlalchemy.sql.lambdas.NullLambdaStatement, sqlalchemy.sql.selectable.AliasedReturnsRows, sqlalchemy.sql.selectable.AliasedReturnsRows, sqlalchemy.sql.selectable.AliasedReturnsRows, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.CompoundSelect, sqlalchemy.sql.selectable.ForUpdateArg, sqlalchemy.sql.selectable.ForUpdateArg, sqlalchemy.sql.selectable.ForUpdateArg, sqlalchemy.sql.selectable.FromGrouping, sqlalchemy.sql.selectable.FromGrouping, sqlalchemy.sql.selectable.FromGrouping, sqlalchemy.sql.selectable.FromGrouping, sqlalchemy.sql.selectable.FromGrouping, sqlalchemy.sql.selectable.FromGrouping, sqlalchemy.sql.selectable.Join, sqlalchemy.sql.selectable.Join, sqlalchemy.sql.selectable.Join, sqlalchemy.sql.selectable.ScalarSelect, sqlalchemy.sql.selectable.ScalarSelect, sqlalchemy.sql.selectable.ScalarSelect, sqlalchemy.sql.selectable.ScalarSelect, sqlalchemy.sql.selectable.ScalarSelect, sqlalchemy.sql.selectable.ScalarSelect, sqlalchemy.sql.selectable.ScalarValues, sqlalchemy.sql.selectable.ScalarValues, sqlalchemy.sql.selectable.ScalarValues, sqlalchemy.sql.selectable.ScalarValues, sqlalchemy.sql.selectable.ScalarValues, sqlalchemy.sql.selectable.ScalarValues, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.Select, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.SelectStatementGrouping, sqlalchemy.sql.selectable.TableClause, sqlalchemy.sql.selectable.TableClause, sqlalchemy.sql.selectable.TableClause, sqlalchemy.sql.selectable.TableValuedAlias, sqlalchemy.sql.selectable.TableValuedAlias, sqlalchemy.sql.selectable.TableValuedAlias, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.TextualSelect, sqlalchemy.sql.selectable.Values, sqlalchemy.sql.selectable.Values, sqlalchemy.sql.selectable.Values, sqlalchemy.orm.strategy_options._LoadElement, sqlalchemy.orm.strategy_options._WildcardLoad, sqlalchemy.orm.strategy_options._WildcardLoad, sqlalchemy.sql.elements._label_reference, sqlalchemy.sql.elements._label_reference, sqlalchemy.sql.elements._label_reference, sqlalchemy.sql.elements._textual_label_reference, sqlalchemy.sql.elements._textual_label_reference, sqlalchemy.sql.elements._textual_label_reference, sqlalchemy.sql.selectable._MemoizedSelectEntities

Undocumented