Exceptions

exception alchemiq.ConcurrentModificationError[source]

Bases: PersistenceError

Optimistic-lock conflict: the row was modified since it was read.

exception alchemiq.InvalidCursorError[source]

Bases: QueryError

Malformed, tampered, or stale pagination cursor.

exception alchemiq.exceptions.AlchemiqError[source]

Bases: Exception

Root of all Alchemiq exceptions.

exception alchemiq.exceptions.ConfigError[source]

Bases: AlchemiqError

Invalid model/field declaration, or a missing optional dependency.

exception alchemiq.exceptions.ValidationError(*, reason, field=None, value=None, model=None, errors=None)[source]

Bases: AlchemiqError

Eager field validation failure (on assignment or construction).

Parameters:
Return type:

None

classmethod aggregate(errors, *, model=None)[source]

Collapse a list of errors into one; returns the single error unchanged when len == 1.

Parameters:
Return type:

ValidationError

exception alchemiq.exceptions.QueryError[source]

Bases: AlchemiqError

Invalid query: bad field, operator, or value at build/compile time.

exception alchemiq.exceptions.UnknownFieldError[source]

Bases: QueryError

Referenced field or traversal path does not exist on the model.

exception alchemiq.exceptions.UnknownOperatorError[source]

Bases: QueryError

Unknown lookup suffix (operator).

exception alchemiq.exceptions.DeserializationError[source]

Bases: QueryError

Malformed Q wire payload.

exception alchemiq.exceptions.DisallowedFieldError[source]

Bases: QueryError

Field/path rejected by the deserialization whitelist (security).

exception alchemiq.exceptions.PersistenceError[source]

Bases: AlchemiqError

Runtime data-access failure (engine, session, repository, loading).

exception alchemiq.exceptions.EngineNotConfiguredError[source]

Bases: PersistenceError

A repository/UnitOfWork was used before alchemiq.configure(dsn).

exception alchemiq.exceptions.NotFoundError[source]

Bases: PersistenceError

Expected exactly one row but found none.

exception alchemiq.exceptions.MultipleResultsFound[source]

Bases: PersistenceError

Expected at most one row but found several.

exception alchemiq.exceptions.RelationNotLoaded[source]

Bases: PersistenceError

Accessed a relationship that was not eager-loaded (no implicit lazy IO).

exception alchemiq.exceptions.ClickHouseError[source]

Bases: PersistenceError

ClickHouse IO failure (connection, query, insert, DDL).

exception alchemiq.exceptions.ClickHouseNotConfiguredError[source]

Bases: ClickHouseError

A ClickHouse operation was used before configure_clickhouse().

exception alchemiq.exceptions.UnsupportedOperationError[source]

Bases: ClickHouseError

The operation is not supported by ClickHouse (e.g. row UPDATE/DELETE).