Skip to content

Reference

Lookup-oriented. Reference is precise, complete, and neutral API documentation. It doesn't teach, doesn't explain, doesn't recommend "what you should do" — it just describes what something is and what arguments it takes. This section is for readers who are already writing code and need to verify a signature or constant fast.

Public API

All public symbols of sqlmodel-ext are re-exported from the top-level package:

python
from sqlmodel_ext import (
    SQLModelBase, ExtraIgnoreModelBase,
    TableBaseMixin, UUIDTableBaseMixin,
    CachedTableBaseMixin, OptimisticLockMixin,
    PolymorphicBaseMixin, AutoPolymorphicIdentityMixin,
    create_subclass_id_mixin,
    RelationPreloadMixin, requires_relations, requires_for_update,
    ListResponse, TableViewRequest, PaginationRequest, TimeFilterRequest,
    Str64, Port, HttpUrl, SafeHttpUrl, IPAddress, ...
)

Module index

ModuleContents
Base classesSQLModelBase, ExtraIgnoreModelBase, TableBaseMixin, UUIDTableBaseMixin
CRUD methodsFull signatures for add / save / update / delete / get / get_one / get_exist_one / count / get_with_count
Field typesStr16Text1M, Port, Percentage, PositiveInt, HttpUrl, SafeHttpUrl, IPAddress, Array[T], JSON100K, NumpyVector
MixinsCachedTableBaseMixin, OptimisticLockMixin, PolymorphicBaseMixin, AutoPolymorphicIdentityMixin, RelationPreloadMixin, info response mixins
Decorators & helpers@requires_relations, @requires_for_update, rel(), cond(), safe_reset()
Pagination typesListResponse[T], TableViewRequest, PaginationRequest, TimeFilterRequest

Constants

sqlmodel-ext exports three commonly-used integer upper bounds:

ConstantValueDescription
INT32_MAX2_147_483_647Max value of PostgreSQL INTEGER (2³¹−1)
INT64_MAX9_223_372_036_854_775_807Max value of PostgreSQL BIGINT (2⁶³−1)
JS_MAX_SAFE_INTEGER9_007_199_254_740_991JavaScript Number.MAX_SAFE_INTEGER (2⁵³−1); default upper bound for PositiveBigInt / NonNegativeBigInt

Exceptions

ExceptionSource moduleWhen it's raised
RecordNotFoundErrorsqlmodel_ext._exceptionsget_exist_one() finds no record and FastAPI is not installed
OptimisticLockErrorsqlmodel_ext.mixins.optimistic_lockOptimistic lock version mismatch after retries are exhausted
UnsafeURLErrorsqlmodel_ext.field_types._ssrfSafeHttpUrl rejects a URL pointing at a private / loopback address

Version

See sqlmodel_ext.__version__. This documentation tracks the 0.3.x series.