class documentation

Describes an object attribute that corresponds to a table column or other column expression. Public constructor is the :func:`_orm.column_property` function.

Class Comparator Produce boolean, comparison, and other operators for :class:`.ColumnProperty` attributes.
Method __clause_element__ Allow the ColumnProperty to work in expression before it is turned into an instrumented attribute.
Method __init__ Undocumented
Method __str__ Undocumented
Method copy Undocumented
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.
Class Variable __slots__ Undocumented
Class Variable inherit_cache :meta private:
Instance Variable active_history Undocumented
Instance Variable columns Undocumented
Instance Variable comparator_factory Undocumented
Instance Variable deferred Undocumented
Instance Variable doc optional documentation string
Instance Variable expire_on_flush Undocumented
Instance Variable group Undocumented
Instance Variable instrument Undocumented
Instance Variable raiseload Undocumented
Instance Variable strategy_key Undocumented
Property columns_to_assign A list of Column objects that should be declaratively added to the new Table object.
Property expression Return the primary column or expression for this ColumnProperty.
Property mapper_property_to_assign return a MapperProperty to be assigned to the declarative mapping
Method _memoized_attr__deferred_column_loader Undocumented
Method _memoized_attr__raise_column_loader Undocumented
Method _memoized_attr__renders_in_subqueries Undocumented
Class Variable _is_polymorphic_discriminator Undocumented
Class Variable _links_to_entity True if this MapperProperty refers to a mapped entity.
Class Variable _mapped_by_synonym Undocumented

Inherited from StrategizedProperty (via _MapsColumns):

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 _MapsColumns, StrategizedProperty):

Method __repr__ Undocumented
Method cascade_iterator Iterate through instances related to the given instance for a particular 'cascade', starting with this MapperProperty.
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 cascade Undocumented
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
Class Variable _is_relationship 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 _MapsColumns, 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 TypingOnly (via _MapsColumns, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _MappedAttribute):

Method __init_subclass__ Undocumented

Inherited from InspectionAttr (via _MapsColumns, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _MappedAttribute, 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 _MapsColumns, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _MappedAttribute, TypingOnly, InspectionAttrInfo, InspectionAttr):

Method __getattr__ Undocumented
Method _fallback_getattr Undocumented

Inherited from _IntrospectsAnnotations (via _MapsColumns, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _MappedAttribute, TypingOnly, InspectionAttrInfo, InspectionAttr, MemoizedSlots):

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.
Method _raise_for_required Undocumented

Inherited from Identified (via _MapsColumns, StrategizedProperty, MapperProperty, HasCacheKey, _DCAttributeOptions, _MappedAttribute, TypingOnly, InspectionAttrInfo, InspectionAttr, MemoizedSlots, _IntrospectsAnnotations):

Class Variable logger Undocumented
Class Variable logging_name Undocumented
Method _should_log_debug Undocumented
Method _should_log_info Undocumented
Class Variable _echo Undocumented
def __clause_element__(self) -> roles.ColumnsClauseRole: (source)

Allow the ColumnProperty to work in expression before it is turned into an instrumented attribute.

def __init__(self, column: _ORMColumnExprArgument[_T], *additional_columns: _ORMColumnExprArgument[Any], attribute_options: Optional[_AttributeOptions] = None, group: Optional[str] = None, deferred: bool = False, raiseload: bool = False, comparator_factory: Optional[Type[PropComparator[_T]]] = None, active_history: bool = False, expire_on_flush: bool = True, info: Optional[_InfoType] = None, doc: Optional[str] = None, _instrument: bool = True): (source)
def __str__(self) -> str: (source)

Undocumented

def copy(self) -> ColumnProperty[_T]: (source)

Undocumented

def declarative_scan(self, decl_scan: _ClassScanMapperConfig, registry: _RegistryType, cls: Type[Any], originating_module: Optional[str], key: str, mapped_container: Optional[Type[Mapped[Any]]], annotation: Optional[_AnnotationScanType], extracted_mapped_annotation: Optional[_AnnotationScanType], is_dataclass_field: bool): (source)

Perform class-specific initializaton at early declarative scanning time. .. versionadded:: 2.0

def do_init(self): (source)

Perform subclass-specific initialization post-mapper-creation steps. This is a template method called by the ``MapperProperty`` object's init() method.

def instrument_class(self, mapper: Mapper[Any]): (source)

Hook called by the Mapper to the property to initiate instrumentation of the class attribute managed by this MapperProperty. The MapperProperty here will typically call out to the attributes module to set up an InstrumentedAttribute. This step is the first of two steps to set up an InstrumentedAttribute, and is called early in the mapper setup process. The second step is typically the init_class_attribute step, called from StrategizedProperty via the post_instrument_class() hook. This step assigns additional state to the InstrumentedAttribute (specifically the "impl") which has been determined after the MapperProperty has determined what kind of persistence management it needs to do (e.g. scalar, object, collection, etc).

def merge(self, session: Session, source_state: InstanceState[Any], source_dict: _InstanceDict, dest_state: InstanceState[Any], dest_dict: _InstanceDict, load: bool, _recursive: Dict[Any, object], _resolve_conflict_map: Dict[_IdentityKeyType[Any], object]): (source)

Merge the attribute represented by this ``MapperProperty`` from source to destination object.

active_history = (source)

Undocumented

Undocumented

comparator_factory = (source)

Undocumented

deferred = (source)

Undocumented

optional documentation string

expire_on_flush = (source)

Undocumented

Undocumented

instrument = (source)

Undocumented

raiseload = (source)

Undocumented

@property
columns_to_assign: List[Tuple[Column[Any], int]] = (source)

A list of Column objects that should be declaratively added to the new Table object.

Return the primary column or expression for this ColumnProperty. E.g.:: class File(Base): # ... name = Column(String(64)) extension = Column(String(8)) filename = column_property(name + '.' + extension) path = column_property('C:/' + filename.expression) .. seealso:: :ref:`mapper_column_property_sql_expressions_composed`

@property
mapper_property_to_assign: Optional[MapperProperty[_T]] = (source)

return a MapperProperty to be assigned to the declarative mapping

@util.preload_module('sqlalchemy.orm.state', 'sqlalchemy.orm.strategies')
def _memoized_attr__deferred_column_loader(self) -> _InstallLoaderCallableProto[Any]: (source)

Undocumented

@util.preload_module('sqlalchemy.orm.state', 'sqlalchemy.orm.strategies')
def _memoized_attr__raise_column_loader(self) -> _InstallLoaderCallableProto[Any]: (source)

Undocumented

def _memoized_attr__renders_in_subqueries(self) -> bool: (source)

Undocumented

_is_polymorphic_discriminator: bool = (source)

Undocumented

_links_to_entity: bool = (source)

True if this MapperProperty refers to a mapped entity. Should only be True for Relationship, False for all others.

_mapped_by_synonym: Optional[str] = (source)

Undocumented