SQLAlchemy 0.6 Documentation

Release: 0.6.9 | Release Date: May 5, 2012
SQLAlchemy 0.6 Documentation » SQLAlchemy ORM » ORM Exceptions

ORM Exceptions

Table of Contents

Previous Topic

Examples

Next Topic

SQLAlchemy Core

Quick Search

ORM Exceptions

SQLAlchemy ORM exceptions.

sqlalchemy.orm.exc.ConcurrentModificationError

alias of StaleDataError

exception sqlalchemy.orm.exc.DetachedInstanceError

Bases: sqlalchemy.exc.SQLAlchemyError

An attempt to access unloaded attributes on a mapped instance that is detached.

exception sqlalchemy.orm.exc.FlushError

Bases: sqlalchemy.exc.SQLAlchemyError

A invalid condition was detected during flush().

exception sqlalchemy.orm.exc.MultipleResultsFound

Bases: sqlalchemy.exc.InvalidRequestError

A single database result was required but more than one were found.

sqlalchemy.orm.exc.NO_STATE = (<type 'exceptions.AttributeError'>, <type 'exceptions.KeyError'>)

Exception types that may be raised by instrumentation implementations.

exception sqlalchemy.orm.exc.NoResultFound

Bases: sqlalchemy.exc.InvalidRequestError

A database result was required but none was found.

exception sqlalchemy.orm.exc.ObjectDeletedError

Bases: sqlalchemy.exc.InvalidRequestError

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.

exception sqlalchemy.orm.exc.StaleDataError

Bases: sqlalchemy.exc.SQLAlchemyError

An operation encountered database state that is unaccounted for.

Two conditions cause this to happen:

  • 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.
exception sqlalchemy.orm.exc.UnmappedClassError(cls, msg=None)

Bases: sqlalchemy.orm.exc.UnmappedError

An mapping operation was requested for an unknown class.

exception sqlalchemy.orm.exc.UnmappedColumnError

Bases: sqlalchemy.exc.InvalidRequestError

Mapping operation was requested on an unknown column.

exception sqlalchemy.orm.exc.UnmappedError

Bases: sqlalchemy.exc.InvalidRequestError

Base for exceptions that involve expected mappings not present.

exception sqlalchemy.orm.exc.UnmappedInstanceError(obj, msg=None)

Bases: sqlalchemy.orm.exc.UnmappedError

An mapping operation was requested for an unknown instance.