class QueryableAttribute(_DeclarativeMapped[
Known subclasses: sqlalchemy.orm.attributes.InstrumentedAttribute
, sqlalchemy.ext.hybrid._HybridClassLevelAccessor
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 |
Undocumented |
Method | __getattr__ |
Undocumented |
Method | __init__ |
Undocumented |
Method | __reduce__ |
Undocumented |
Method | __str__ |
Undocumented |
Method | adapt |
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 |
Undocumented |
Method | hasparent |
Undocumented |
Method | label |
Undocumented |
Method | of |
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 |
Reverse operate on an argument. |
Class Variable | __slots__ |
Undocumented |
Class Variable | __visit |
Undocumented |
Class Variable | dispatch |
Undocumented |
Class Variable | expression |
The SQL expression object represented by this :class:`.QueryableAttribute`. |
Class Variable | is |
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 |
Return setter tuples for a bulk UPDATE. |
Method | _clone |
Undocumented |
Method | _memoized |
Undocumented |
Method | _memoized |
Undocumented |
Method | _memoized |
Undocumented |
Class Variable | _cache |
Undocumented |
Instance Variable | _doc |
Undocumented |
Instance Variable | _extra |
Undocumented |
Instance Variable | _of |
Undocumented |
Instance Variable | _parententity |
Undocumented |
Property | _annotations |
Undocumented |
Property | _entity |
Undocumented |
Property | _from |
Undocumented |
Property | _impl |
Undocumented |
Inherited from Mapped
(via _DeclarativeMapped
):
Method | __delete__ |
Undocumented |
Method | __get__ |
Undocumented |
Method | __set__ |
Undocumented |
Class Method | _empty |
Undocumented |
Inherited from InspectionAttr
(via _DeclarativeMapped
, Mapped
, SQLORMExpression
):
Class Variable | is |
True if this object is an instance of :class:`.AliasedClass`. |
Class Variable | is |
True if this object is an instance of :class:`.Bundle`. |
Class Variable | is |
True if this object is an instance of :class:`_expression.ClauseElement`. |
Class Variable | is |
True if this object is an instance of :class:`.InstanceState`. |
Class Variable | is |
True if this object is an instance of :class:`_orm.Mapper`. |
Class Variable | is |
True if this object is an instance of :class:`.MapperProperty`. |
Class Variable | is |
Return True if this object is an instance of :class:`_expression.Selectable`. |
Class Variable | _is |
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 |
Undocumented |
Class Variable | has |
Undocumented |
Class Variable | of |
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 |
Undocumented |
Static Method | _has |
Undocumented |
Static Method | _of |
Undocumented |
Method | _criterion |
Undocumented |
Instance Variable | _adapt |
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 |
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 |
Implement the ``IS DISTINCT FROM`` operator. |
Method | is |
Implement the ``IS NOT`` operator. |
Method | is |
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 |
implement the ``NOT ILIKE`` operator. |
Method | not |
implement the ``NOT IN`` operator. |
Method | not |
implement the ``NOT LIKE`` operator. |
Method | notilike |
Undocumented |
Method | notin_ |
Undocumented |
Method | notlike |
Undocumented |
Method | nulls |
Produce a :func:`_expression.nulls_first` clause against the parent object. |
Method | nulls |
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 |
Implements a database-specific 'regexp match' operator. |
Method | regexp |
Implements a database-specific 'regexp replace' operator. |
Method | startswith |
Implement the ``startswith`` operator. |
Property | _propagate |
Undocumented |
Inherited from ExpressionElementRole
(via _DeclarativeMapped
, Mapped
, SQLORMExpression
, InspectionAttr
, PropComparator
, SQLORMOperations
, SQLColumnExpression
, SQLCoreOperations
):
Class Variable | _role |
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 |
Produce a bitwise AND operation, typically via the ``&`` operator. |
Method | bitwise |
Produce a bitwise LSHIFT operation, typically via the ``<<`` operator. |
Method | bitwise |
Produce a bitwise NOT operation, typically via the ``~`` operator. |
Method | bitwise |
Produce a bitwise OR operation, typically via the ``|`` operator. |
Method | bitwise |
Produce a bitwise RSHIFT operation, typically via the ``>>`` operator. |
Method | bitwise |
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 |
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 |
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 |
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 |
Undocumented |
Class Variable | _post |
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 |
Undocumented |
Method | _copy |
Undocumented |
Class Variable | _is |
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 |
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 |
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 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 |
Undocumented |
_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)
¶
Undocumented
Return a copy of this PropComparator which will use the given :class:`.AliasedInsp` to produce corresponding expressions.
_ColumnExpressionArgument[ bool]
) -> interfaces.PropComparator[ bool]
:
(source)
¶
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`
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`
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`.
OperatorType
, other: Any
, **kwargs: Any
) -> ColumnElement[ Any]
:
(source)
¶
Reverse operate on an argument. Usage is the same as :meth:`operate`.
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.
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`
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`