class documentation

Base class for :term:`descriptor` objects that intercept attribute events on behalf of a :class:`.MapperProperty` object. The actual :class:`.MapperProperty` is accessible via the :attr:`.QueryableAttribute.property` attribute. .. seealso:: :class:`.InstrumentedAttribute` :class:`.MapperProperty` :attr:`_orm.Mapper.all_orm_descriptors` :attr:`_orm.Mapper.attrs`

Method __clause_element__ Undocumented
Method __getattr__ Undocumented
Method __init__ Undocumented
Method __reduce__ Undocumented
Method __str__ Undocumented
Method adapt_to_entity Return a copy of this PropComparator which will use the given :class:`.AliasedInsp` to produce corresponding expressions.
Method and_ Add additional criteria to the ON clause that's represented by this relationship attribute.
Method get_history Undocumented
Method hasparent Undocumented
Method label Undocumented
Method of_type Redefine this object in terms of a polymorphic subclass, :func:`_orm.with_polymorphic` construct, or :func:`_orm.aliased` construct.
Method operate Operate on an argument.
Method reverse_operate Reverse operate on an argument.
Class Variable __slots__ Undocumented
Class Variable __visit_name__ Undocumented
Class Variable dispatch Undocumented
Class Variable expression The SQL expression object represented by this :class:`.QueryableAttribute`.
Class Variable is_attribute True if this object is a Python :term:`descriptor`.
Class Variable parententity Undocumented
Instance Variable class_ Undocumented
Instance Variable comparator Undocumented
Instance Variable impl Undocumented
Instance Variable key Undocumented
Instance Variable parent Return an inspection instance representing the parent.
Property info Return the 'info' dictionary for the underlying SQL element.
Method _bulk_update_tuples Return setter tuples for a bulk UPDATE.
Method _clone Undocumented
Method _memoized_attr__propagate_attrs Undocumented
Method _memoized_attr_expression Undocumented
Method _memoized_attr_property Undocumented
Class Variable _cache_key_traversal Undocumented
Instance Variable _doc Undocumented
Instance Variable _extra_criteria Undocumented
Instance Variable _of_type Undocumented
Instance Variable _parententity Undocumented
Property _annotations Undocumented
Property _entity_namespace Undocumented
Property _from_objects Undocumented
Property _impl_uses_objects Undocumented

Inherited from Mapped (via _DeclarativeMapped):

Method __delete__ Undocumented
Method __get__ Undocumented
Method __set__ Undocumented
Class Method _empty_constructor Undocumented

Inherited from InspectionAttr (via _DeclarativeMapped, Mapped, SQLORMExpression):

Class Variable is_aliased_class True if this object is an instance of :class:`.AliasedClass`.
Class Variable is_bundle True if this object is an instance of :class:`.Bundle`.
Class Variable is_clause_element True if this object is an instance of :class:`_expression.ClauseElement`.
Class Variable is_instance True if this object is an instance of :class:`.InstanceState`.
Class Variable is_mapper True if this object is an instance of :class:`_orm.Mapper`.
Class Variable is_property True if this object is an instance of :class:`.MapperProperty`.
Class Variable is_selectable Return True if this object is an instance of :class:`_expression.Selectable`.
Class Variable _is_internal_proxy True if this object is an internal proxy object.

Inherited from PropComparator (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr):

Method any Return a SQL expression representing true if this element references a member which meets the given criterion.
Method has Return a SQL expression representing true if this element references a member which meets the given criterion.
Class Variable any_op Undocumented
Class Variable has_op Undocumented
Class Variable of_type_op Undocumented
Instance Variable prop Undocumented
Property adapter Produce a callable that adapts column expressions to suit an aliased version of this comparator.
Property property Return the :class:`.MapperProperty` associated with this :class:`.PropComparator`.
Static Method _any_op Undocumented
Static Method _has_op Undocumented
Static Method _of_type_op Undocumented
Method _criterion_exists Undocumented
Instance Variable _adapt_to_entity Undocumented
Property _parentmapper legacy; this is renamed to _parententity to be compatible with QueryableAttribute.

Inherited from SQLCoreOperations (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression):

Method __add__ Implement the ``+`` operator.
Method __and__ Implement the ``&`` operator.
Method __contains__ Undocumented
Method __eq__ Implement the ``==`` operator.
Method __floordiv__ Implement the ``//`` operator.
Method __ge__ Implement the ``>=`` operator.
Method __getitem__ Implement the [] operator.
Method __gt__ Implement the ``>`` operator.
Method __invert__ Implement the ``~`` operator.
Method __le__ Implement the ``<=`` operator.
Method __lt__ Implement the ``<`` operator.
Method __mod__ Implement the ``%`` operator.
Method __mul__ Implement the ``*`` operator.
Method __ne__ Implement the ``!=`` operator.
Method __neg__ Implement the ``-`` operator.
Method __or__ Implement the ``|`` operator.
Method __radd__ Implement the ``+`` operator in reverse.
Method __rfloordiv__ Implement the ``//`` operator in reverse.
Method __rmod__ Implement the ``%`` operator in reverse.
Method __rmul__ Implement the ``*`` operator in reverse.
Method __rsub__ Implement the ``-`` operator in reverse.
Method __rtruediv__ Implement the ``/`` operator in reverse.
Method __sub__ Implement the ``-`` operator.
Method __truediv__ Implement the ``/`` operator.
Method all_ Produce an :func:`_expression.all_` clause against the parent object.
Method any_ Produce an :func:`_expression.any_` clause against the parent object.
Method asc Produce a :func:`_expression.asc` clause against the parent object.
Method between Produce a :func:`_expression.between` clause against the parent object, given the lower and upper range.
Method bool_op Return a custom boolean operator.
Method collate Produce a :func:`_expression.collate` clause against the parent object, given the collation string.
Method concat Implement the 'concat' operator.
Method contains Implement the 'contains' operator.
Method desc Produce a :func:`_expression.desc` clause against the parent object.
Method distinct Produce a :func:`_expression.distinct` clause against the parent object.
Method endswith Implement the 'endswith' operator.
Method ilike Implement the ``ilike`` operator, e.g. case insensitive LIKE.
Method in_ Implement the ``in`` operator.
Method is_ Implement the ``IS`` operator.
Method is_distinct_from Implement the ``IS DISTINCT FROM`` operator.
Method is_not Implement the ``IS NOT`` operator.
Method is_not_distinct_from Implement the ``IS NOT DISTINCT FROM`` operator.
Method isnot Undocumented
Method like Implement the ``like`` operator.
Method match Implements a database-specific 'match' operator.
Method not_ilike implement the ``NOT ILIKE`` operator.
Method not_in implement the ``NOT IN`` operator.
Method not_like implement the ``NOT LIKE`` operator.
Method notilike Undocumented
Method notin_ Undocumented
Method notlike Undocumented
Method nulls_first Produce a :func:`_expression.nulls_first` clause against the parent object.
Method nulls_last Produce a :func:`_expression.nulls_last` clause against the parent object.
Method nullsfirst Undocumented
Method nullslast Undocumented
Method op Produce a generic operator function.
Method regexp_match Implements a database-specific 'regexp match' operator.
Method regexp_replace Implements a database-specific 'regexp replace' operator.
Method startswith Implement the ``startswith`` operator.
Property _propagate_attrs Undocumented

Inherited from ExpressionElementRole (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression, SQLCoreOperations):

Class Variable _role_name Undocumented

Inherited from ColumnOperators (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, _MappedAnnotationBase, _MappedAttribute):

Method __lshift__ implement the << operator.
Method __rshift__ implement the >> operator.
Method bitwise_and Produce a bitwise AND operation, typically via the ``&`` operator.
Method bitwise_lshift Produce a bitwise LSHIFT operation, typically via the ``<<`` operator.
Method bitwise_not Produce a bitwise NOT operation, typically via the ``~`` operator.
Method bitwise_or Produce a bitwise OR operation, typically via the ``|`` operator.
Method bitwise_rshift Produce a bitwise RSHIFT operation, typically via the ``>>`` operator.
Method bitwise_xor Produce a bitwise XOR operation, typically via the ``^`` operator, or ``#`` for PostgreSQL.
Method icontains Implement the ``icontains`` operator, e.g. case insensitive version of :meth:`.ColumnOperators.contains`.
Method iendswith Implement the ``iendswith`` operator, e.g. case insensitive version of :meth:`.ColumnOperators.endswith`.
Method isnot_distinct_from Undocumented
Method istartswith Implement the ``istartswith`` operator, e.g. case insensitive version of :meth:`.ColumnOperators.startswith`.
Class Variable timetuple Hack, allows datetime objects to be compared on the LHS.
Method _rconcat Implement an 'rconcat' operator.

Inherited from TypingOnly (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators):

Method __init_subclass__ Undocumented

Inherited from AllowsLambdaRole (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, DDLConstraintColumnRole, JoinTargetRole, OnClauseRole):

Class Variable allows_lambda Undocumented

Inherited from UsesInspection (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, DDLConstraintColumnRole, JoinTargetRole, OnClauseRole, AllowsLambdaRole):

Class Variable uses_inspection Undocumented
Class Variable _post_inspect Undocumented

Inherited from Immutable (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, DDLConstraintColumnRole, JoinTargetRole, OnClauseRole, AllowsLambdaRole, UsesInspection, StructuralRole, SQLRole):

Method params Undocumented
Method unique_params Undocumented
Method _copy_internals Undocumented
Class Variable _is_immutable Undocumented

Inherited from SlotsMemoizedHasCacheKey (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, DDLConstraintColumnRole, JoinTargetRole, OnClauseRole, AllowsLambdaRole, UsesInspection, StructuralRole, SQLRole, Immutable):

Method _memoized_method__generate_cache_key Undocumented

Inherited from HasCacheKey (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, DDLConstraintColumnRole, JoinTargetRole, OnClauseRole, AllowsLambdaRole, UsesInspection, StructuralRole, SQLRole, Immutable, SlotsMemoizedHasCacheKey):

Class Variable inherit_cache Indicate if this :class:`.HasCacheKey` instance should make use of the cache key generation scheme used by its immediate superclass.
Class Method _generate_cache_attrs generate cache key dispatcher for a new class.
Class Method _generate_cache_key_for_object Undocumented
Method _gen_cache_key return an optional cache key.
Method _generate_cache_key return a cache key.
Class Variable _generated_cache_key_traversal Undocumented
Class Variable _hierarchy_supports_caching 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_has_cache_key Undocumented

Inherited from MemoizedSlots (via _DeclarativeMapped, Mapped, SQLORMExpression, InspectionAttr, PropComparator, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, DDLConstraintColumnRole, JoinTargetRole, OnClauseRole, AllowsLambdaRole, UsesInspection, StructuralRole, SQLRole, Immutable, SlotsMemoizedHasCacheKey, HasCacheKey):

Method _fallback_getattr Undocumented
def __getattr__(self, key: str) -> Any: (source)
def __init__(self, class_: _ExternalEntityType[_O], key: str, parententity: _InternalEntityType[_O], comparator: interfaces.PropComparator[_T], impl: Optional[AttributeImpl] = None, of_type: Optional[_InternalEntityType[Any]] = None, extra_criteria: Tuple[ColumnElement[bool], ...] = ()): (source)
def __reduce__(self) -> Any: (source)

Undocumented

def __str__(self) -> str: (source)

Undocumented

def adapt_to_entity(self, adapt_to_entity: AliasedInsp[Any]) -> Self: (source)

Return a copy of this PropComparator which will use the given :class:`.AliasedInsp` to produce corresponding expressions.

Add additional criteria to the ON clause that's represented by this relationship attribute. E.g.:: stmt = select(User).join( User.addresses.and_(Address.email_address != 'foo') ) stmt = select(User).options( joinedload(User.addresses.and_(Address.email_address != 'foo')) ) .. versionadded:: 1.4 .. seealso:: :ref:`orm_queryguide_join_on_augmented` :ref:`loader_option_criteria` :func:`.with_loader_criteria`

def get_history(self, instance: Any, passive: PassiveFlag = PASSIVE_OFF) -> History: (source)

Undocumented

def hasparent(self, state: InstanceState[Any], optimistic: bool = False) -> bool: (source)

Undocumented

def of_type(self, entity: _EntityType[Any]) -> QueryableAttribute[_T]: (source)

Redefine this object in terms of a polymorphic subclass, :func:`_orm.with_polymorphic` construct, or :func:`_orm.aliased` construct. Returns a new PropComparator from which further criterion can be evaluated. e.g.:: query.join(Company.employees.of_type(Engineer)).\ filter(Engineer.name=='foo') :param \class_: a class or mapper indicating that criterion will be against this specific subclass. .. seealso:: :ref:`orm_queryguide_joining_relationships_aliased` - in the :ref:`queryguide_toplevel` :ref:`inheritance_of_type`

def operate(self, op: OperatorType, *other: Any, **kwargs: Any) -> ColumnElement[Any]: (source)

Operate on an argument. This is the lowest level of operation, raises :class:`NotImplementedError` by default. Overriding this on a subclass can allow common behavior to be applied to all operations. For example, overriding :class:`.ColumnOperators` to apply ``func.lower()`` to the left and right side:: class MyComparator(ColumnOperators): def operate(self, op, other, **kwargs): return op(func.lower(self), func.lower(other), **kwargs) :param op: Operator callable. :param \*other: the 'other' side of the operation. Will be a single scalar for most operations. :param \**kwargs: modifiers. These may be passed by special operators such as :meth:`ColumnOperators.contains`.

def reverse_operate(self, op: OperatorType, other: Any, **kwargs: Any) -> ColumnElement[Any]: (source)

Reverse operate on an argument. Usage is the same as :meth:`operate`.

dispatch: dispatcher[QueryableAttribute[_T]] = (source)

Undocumented

The SQL expression object represented by this :class:`.QueryableAttribute`. This will typically be an instance of a :class:`_sql.ColumnElement` subclass representing a column expression.

is_attribute: bool = (source)

True if this object is a Python :term:`descriptor`. This can refer to one of many types. Usually a :class:`.QueryableAttribute` which handles attributes events on behalf of a :class:`.MapperProperty`. But can also be an extension type such as :class:`.AssociationProxy` or :class:`.hybrid_property`. The :attr:`.InspectionAttr.extension_type` will refer to a constant identifying the specific subtype. .. seealso:: :attr:`_orm.Mapper.all_orm_descriptors`

Undocumented

Undocumented

comparator = (source)

Undocumented

Undocumented

Undocumented

Return an inspection instance representing the parent. This will be either an instance of :class:`_orm.Mapper` or :class:`.AliasedInsp`, depending upon the nature of the parent entity which this attribute is associated with.

Return the 'info' dictionary for the underlying SQL element. The behavior here is as follows: * If the attribute is a column-mapped property, i.e. :class:`.ColumnProperty`, which is mapped directly to a schema-level :class:`_schema.Column` object, this attribute will return the :attr:`.SchemaItem.info` dictionary associated with the core-level :class:`_schema.Column` object. * If the attribute is a :class:`.ColumnProperty` but is mapped to any other kind of SQL expression other than a :class:`_schema.Column`, the attribute will refer to the :attr:`.MapperProperty.info` dictionary associated directly with the :class:`.ColumnProperty`, assuming the SQL expression itself does not have its own ``.info`` attribute (which should be the case, unless a user-defined SQL construct has defined one). * If the attribute refers to any other kind of :class:`.MapperProperty`, including :class:`.Relationship`, the attribute will refer to the :attr:`.MapperProperty.info` dictionary associated with that :class:`.MapperProperty`. * To access the :attr:`.MapperProperty.info` dictionary of the :class:`.MapperProperty` unconditionally, including for a :class:`.ColumnProperty` that's associated directly with a :class:`_schema.Column`, the attribute can be referred to using :attr:`.QueryableAttribute.property` attribute, as ``MyClass.someattribute.property.info``. .. seealso:: :attr:`.SchemaItem.info` :attr:`.MapperProperty.info`

def _bulk_update_tuples(self, value: Any) -> Sequence[Tuple[_DMLColumnArgument, Any]]: (source)

Return setter tuples for a bulk UPDATE.

def _clone(self, **kw: Any) -> QueryableAttribute[_T]: (source)

Undocumented

def _memoized_attr__propagate_attrs(self) -> _PropagateAttrsType: (source)

Undocumented

def _memoized_attr_expression(self) -> ColumnElement[_T]: (source)

Undocumented

def _memoized_attr_property(self) -> Optional[MapperProperty[Any]]: (source)

Undocumented

_cache_key_traversal = (source)

Undocumented

_extra_criteria = (source)

Undocumented

_of_type = (source)

Undocumented

Undocumented

Undocumented

Undocumented

@property
_impl_uses_objects: bool = (source)

Undocumented