""" Gathers all exceptions thrown by ormar. """ class AsyncOrmException(Exception): """ Base ormar Exception """ pass class ModelDefinitionError(AsyncOrmException): """ Raised for errors related to the model definition itself: * setting @property_field on method with arguments other than func(self) * defining a Field without required parameters * defining a model with more than one primary_key * defining a model without primary_key * setting primary_key column as pydantic_only """ pass class ModelError(AsyncOrmException): """ Raised for initialization of model with non-existing field keyword. """ pass class NoMatch(AsyncOrmException): """ Raised for database queries that has no matching result (empty result). """ pass class MultipleMatches(AsyncOrmException): """ Raised for database queries that should return one row (i.e. get, first etc.) but has multiple matching results in response. """ pass class QueryDefinitionError(AsyncOrmException): """ Raised for errors in query definition: * using contains or icontains filter with instance of the Model * using Queryset.update() without filter and setting each flag to True * using Queryset.delete() without filter and setting each flag to True """ pass class RelationshipInstanceError(AsyncOrmException): pass class ModelPersistenceError(AsyncOrmException): """ Raised for update of models without primary_key set (cannot retrieve from db) or for saving a model with relation to unsaved model (cannot extract fk value). """ pass class SignalDefinitionError(AsyncOrmException): """ Raised when non callable receiver is passed as signal callback. """ pass