class documentation

Describes an object property that holds a single item or list of items that correspond to a related database table. Public constructor is the :func:`_orm.relationship` function. .. seealso:: :ref:`relationship_config_toplevel` .. versionchanged:: 2.0 Added :class:`_orm.Relationship` as a Declarative compatible subclass for :class:`_orm.RelationshipProperty`.

Class Variable inherit_cache :meta private:

Inherited from RelationshipProperty:

Class Comparator Produce boolean, comparison, and other operators for :class:`.RelationshipProperty` attributes.
Method __init__ Undocumented
Method __str__ Undocumented
Method cascade.setter Undocumented
Method cascade_iterator Iterate through instances related to the given instance for a particular 'cascade', starting with this MapperProperty.
Method declarative_scan Perform class-specific initializaton at early declarative scanning time.
Method do_init Perform subclass-specific initialization post-mapper-creation steps.
Method instrument_class Hook called by the Mapper to the property to initiate instrumentation of the class attribute managed by this MapperProperty.
Method merge Merge the attribute represented by this ``MapperProperty`` from source to destination object.
Instance Variable active_history Undocumented
Instance Variable argument Undocumented
Instance Variable back_populates Undocumented
Instance Variable backref Undocumented
Instance Variable collection_class Undocumented
Instance Variable comparator_factory Undocumented
Instance Variable direction Undocumented
Instance Variable distinct_target_key Undocumented
Instance Variable doc optional documentation string
Instance Variable enable_typechecks Undocumented
Instance Variable entity Return the target mapped entity, which is an inspect() of the class or aliased class that is referred towards.
Instance Variable innerjoin Undocumented
Instance Variable join_depth Undocumented
Instance Variable lazy Undocumented
Instance Variable load_on_pending Undocumented
Instance Variable local_columns Undocumented
Instance Variable local_remote_pairs Undocumented
Instance Variable omit_join Undocumented
Instance Variable order_by Undocumented
Instance Variable passive_deletes Undocumented
Instance Variable passive_updates Undocumented
Instance Variable post_update Undocumented
Instance Variable primaryjoin Undocumented
Instance Variable query_class Undocumented
Instance Variable remote_side Undocumented
Instance Variable secondary Undocumented
Instance Variable secondary_synchronize_pairs Undocumented
Instance Variable secondaryjoin Undocumented
Instance Variable single_parent Undocumented
Instance Variable strategy_key Undocumented
Instance Variable sync_backref Undocumented
Instance Variable synchronize_pairs Undocumented
Instance Variable target Undocumented
Instance Variable uselist Undocumented
Instance Variable viewonly Undocumented
Property cascade Return the current cascade setting for this :class:`.RelationshipProperty`.
Property mapper Return the targeted :class:`_orm.Mapper` for this :class:`.RelationshipProperty`.
Static Method _check_sync_backref Undocumented
Method _add_reverse_property Undocumented
Method _check_cascade_settings Undocumented
Method _check_conflicts Test that this relationship is legal, warn about inheritance conflicts.
Method _columns_are_mapped Return True if all columns in the given collection are mapped by the tables referenced by this :class:`.RelationshipProperty`.
Method _create_joins Undocumented
Method _generate_backref Interpret the 'backref' instruction to create a :func:`_orm.relationship` complementary to this one.
Method _get_attr_w_warn_on_none Create the callable that is used in a many-to-one expression.
Method _lazy_none_clause Undocumented
Method _optimized_compare Undocumented
Method _persists_for Return True if this property will persist values on behalf of the given mapper.
Method _post_init Undocumented
Method _process_dependent_arguments Convert incoming configuration arguments to their proper form.
Method _set_cascade Undocumented
Method _setup_entity Undocumented
Method _setup_join_conditions Undocumented
Method _setup_registry_dependencies Undocumented
Method _value_as_iterable Return a list of tuples (state, obj) for the given key.
Method _warn_for_persistence_only_flags Undocumented
Method _with_parent Undocumented
Class Variable _is_relationship Undocumented
Class Variable _links_to_entity True if this MapperProperty refers to a mapped entity.
Class Variable _persistence_only Undocumented
Instance Variable _calculated_foreign_keys Undocumented
Instance Variable _cascade Undocumented
Instance Variable _dependency_processor Undocumented
Instance Variable _init_args Undocumented
Instance Variable _join_condition Undocumented
Instance Variable _lazy_strategy Undocumented
Instance Variable _legacy_inactive_history_style Undocumented
Instance Variable _overlaps Undocumented
Instance Variable _reverse_property Undocumented
Instance Variable _user_defined_foreign_keys Undocumented
Property _clsregistry_resolve_arg Undocumented
Property _clsregistry_resolve_name Undocumented
Property _clsregistry_resolvers Undocumented
Property _effective_sync_backref Undocumented
Property _is_self_referential Undocumented
Property _use_get memoize the 'use_get' attribute of this RelationshipLoader's lazyloader.

Inherited from _IntrospectsAnnotations (via RelationshipProperty):

Method found_in_pep593_annotated return a copy of this object to use in declarative when the object is found inside of an Annotated object.
Class Variable __slots__ Undocumented
Method _raise_for_required Undocumented

Inherited from StrategizedProperty (via RelationshipProperty, _IntrospectsAnnotations):

Class Method strategy_for Undocumented
Method create_row_processor Produce row processing functions and append to the given set of populators lists.
Method post_instrument_class Perform instrumentation adjustments that need to occur after init() has completed.
Method setup Called by Query for the purposes of constructing a SQL statement.
Class Variable strategy_wildcard_key Undocumented
Instance Variable strategy Undocumented
Class Method _strategy_lookup Undocumented
Method _get_context_loader Undocumented
Method _get_strategy Undocumented
Method _memoized_attr__default_path_loader_key Undocumented
Method _memoized_attr__wildcard_token Undocumented
Class Variable _all_strategies Undocumented
Instance Variable _strategies Undocumented

Inherited from MapperProperty (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty):

Method __repr__ Undocumented
Method init Called after all mappers are created to assemble relationships between mappers and perform other post-mapper-creation initialization steps.
Method set_parent Set the parent mapper that references this MapperProperty.
Class Variable comparator The :class:`_orm.PropComparator` instance that implements SQL expression construction on behalf of this mapped attribute.
Class Variable info Info dictionary associated with the object, allowing user-defined data to be associated with this :class:`.InspectionAttr`.
Class Variable is_property Part of the InspectionAttr interface; states this object is a mapper property.
Class Variable key name of class attribute
Instance Variable parent the :class:`.Mapper` managing this property.
Property class_attribute Return the class-bound descriptor corresponding to this :class:`.MapperProperty`.
Method _memoized_attr_info Info dictionary associated with the object, allowing user-defined data to be associated with this :class:`.InspectionAttr`.
Class Variable _cache_key_traversal Undocumented
Instance Variable _attribute_options behavioral options for ORM-enabled Python attributes
Instance Variable _configure_finished Undocumented
Instance Variable _configure_started Undocumented
Instance Variable _has_dataclass_arguments Undocumented

Inherited from HasCacheKey (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty):

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 _DeclarativeMapped (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions):

Method operate Operate on an argument.
Method reverse_operate Reverse operate on an argument.

Inherited from Mapped (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped):

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

Inherited from SQLORMOperations (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped, Mapped, SQLORMExpression):

Method and_ Undocumented
Method any Undocumented
Method has Undocumented
Method of_type Undocumented

Inherited from SQLCoreOperations (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped, Mapped, SQLORMExpression, 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 RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped, Mapped, SQLORMExpression, SQLORMOperations, SQLColumnExpression, SQLCoreOperations):

Method label Undocumented
Class Variable _role_name Undocumented

Inherited from ColumnOperators (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped, Mapped, SQLORMExpression, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, WriteOnlyMapped, DynamicMapped, _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 RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped, Mapped, SQLORMExpression, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, WriteOnlyMapped, DynamicMapped, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators):

Method __init_subclass__ Undocumented

Inherited from InspectionAttr (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped, Mapped, SQLORMExpression, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, WriteOnlyMapped, DynamicMapped, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, InspectionAttrInfo):

Class Variable is_aliased_class True if this object is an instance of :class:`.AliasedClass`.
Class Variable is_attribute True if this object is a Python :term:`descriptor`.
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_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 MemoizedSlots (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped, Mapped, SQLORMExpression, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, WriteOnlyMapped, DynamicMapped, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, InspectionAttrInfo, InspectionAttr):

Method __getattr__ Undocumented
Method _fallback_getattr Undocumented

Inherited from Identified (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped, Mapped, SQLORMExpression, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, WriteOnlyMapped, DynamicMapped, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, InspectionAttrInfo, InspectionAttr, MemoizedSlots):

Class Variable logger Undocumented
Class Variable logging_name Undocumented
Method _should_log_debug Undocumented
Method _should_log_info Undocumented
Class Variable _echo Undocumented

Inherited from SQLRole (via RelationshipProperty, _IntrospectsAnnotations, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _DeclarativeMapped, Mapped, SQLORMExpression, SQLORMOperations, SQLColumnExpression, SQLCoreOperations, ExpressionElementRole, TypedColumnsClauseRole, ORMDescriptor, WriteOnlyMapped, DynamicMapped, _MappedAnnotationBase, _MappedAttribute, ColumnOperators, Operators, TypingOnly, InspectionAttrInfo, InspectionAttr, MemoizedSlots, Identified, DDLConstraintColumnRole):

Class Variable allows_lambda Undocumented
Class Variable uses_inspection Undocumented