ORM Exceptions¶
SQLAlchemy ORM exceptions.
Object Name | Description |
---|---|
alias of |
|
Exception types that may be raised by instrumentation implementations. |
-
attribute
sqlalchemy.orm.exc..
sqlalchemy.orm.exc.ConcurrentModificationError¶ alias of
StaleDataError
- exception sqlalchemy.orm.exc.DetachedInstanceError¶
An attempt to access unloaded attributes on a mapped instance that is detached.
- exception sqlalchemy.orm.exc.FlushError¶
A invalid condition was detected during flush().
- exception sqlalchemy.orm.exc.LoaderStrategyException¶
A loader strategy for an attribute does not exist.
-
method
sqlalchemy.orm.exc.LoaderStrategyException.
__init__(applied_to_property_type: Type[Any], requesting_property: MapperProperty[Any], applies_to: Optional[Type[MapperProperty[Any]]], actual_strategy_type: Optional[Type[LoaderStrategy]], strategy_key: Tuple[Any, ...])¶
-
method
- sqlalchemy.orm.exc.NO_STATE = (<class 'AttributeError'>, <class 'KeyError'>)¶
Exception types that may be raised by instrumentation implementations.
- exception sqlalchemy.orm.exc.ObjectDeletedError¶
A refresh operation failed to retrieve the database row corresponding to an object’s known primary key identity.
A refresh operation proceeds when an expired attribute is accessed on an object, or when
Query.get()
is used to retrieve an object which is, upon retrieval, detected as expired. A SELECT is emitted for the target row based on primary key; if no row is returned, this exception is raised.The true meaning of this exception is simply that no row exists for the primary key identifier associated with a persistent object. The row may have been deleted, or in some cases the primary key updated to a new value, outside of the ORM’s management of the target object.
-
method
sqlalchemy.orm.exc.ObjectDeletedError.
__init__(state: InstanceState[Any], msg: Optional[str] = None)¶
-
method
- exception sqlalchemy.orm.exc.ObjectDereferencedError¶
An operation cannot complete due to an object being garbage collected.
- exception sqlalchemy.orm.exc.StaleDataError¶
An operation encountered database state that is unaccounted for.
Conditions which cause this to happen include:
A flush may have attempted to update or delete rows and an unexpected number of rows were matched during the UPDATE or DELETE statement. Note that when version_id_col is used, rows in UPDATE or DELETE statements are also matched against the current known version identifier.
A mapped object with version_id_col was refreshed, and the version number coming back from the database does not match that of the object itself.
A object is detached from its parent object, however the object was previously attached to a different parent identity which was garbage collected, and a decision cannot be made if the new parent was really the most recent “parent”.
- exception sqlalchemy.orm.exc.UnmappedClassError¶
An mapping operation was requested for an unknown class.
-
method
sqlalchemy.orm.exc.UnmappedClassError.
__init__(cls: Type[_T], msg: Optional[str] = None)¶
-
method
- exception sqlalchemy.orm.exc.UnmappedColumnError¶
Mapping operation was requested on an unknown column.
- exception sqlalchemy.orm.exc.UnmappedError¶
Base for exceptions that involve expected mappings not present.
- exception sqlalchemy.orm.exc.UnmappedInstanceError¶
An mapping operation was requested for an unknown instance.
-
method
sqlalchemy.orm.exc.UnmappedInstanceError.
__init__(obj: object, msg: Optional[str] = None)¶
-
method