Skip to content

参考

查阅导向。 参考是精确、完整、中立的 API 文档。它不教学、不解释、不推荐"应该"怎么做——只描述"是什么"和"接受什么参数"。 这部分适合已经在写代码、需要快速查证某个签名或常量的读者。

公共 API

sqlmodel-ext 的所有公开符号都从顶层包导出:

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, ...
)

模块索引

模块内容
基础类SQLModelBaseExtraIgnoreModelBaseTableBaseMixinUUIDTableBaseMixin
CRUD 方法add / save / update / delete / get / get_one / get_exist_one / count / get_with_count 完整签名
字段类型Str16Text1MPortPercentagePositiveIntHttpUrlSafeHttpUrlIPAddressArray[T]JSON100KNumpyVector
Mixin 类CachedTableBaseMixinOptimisticLockMixinPolymorphicBaseMixinAutoPolymorphicIdentityMixinRelationPreloadMixin、信息响应 Mixin
装饰器与辅助函数@requires_relations@requires_for_updaterel()cond()safe_reset()
分页类型ListResponse[T]TableViewRequestPaginationRequestTimeFilterRequest

常量

sqlmodel-ext 导出三个常用上界常量:

常量说明
INT32_MAX2_147_483_647PostgreSQL INTEGER 的最大值(2³¹−1)
INT64_MAX9_223_372_036_854_775_807PostgreSQL BIGINT 的最大值(2⁶³−1)
JS_MAX_SAFE_INTEGER9_007_199_254_740_991JavaScript Number.MAX_SAFE_INTEGER(2⁵³−1);PositiveBigInt / NonNegativeBigInt 的默认上界

异常

异常来源模块触发场景
RecordNotFoundErrorsqlmodel_ext._exceptionsget_exist_one() 找不到记录且未安装 FastAPI
OptimisticLockErrorsqlmodel_ext.mixins.optimistic_lock乐观锁版本号冲突且重试已耗尽
UnsafeURLErrorsqlmodel_ext.field_types._ssrfSafeHttpUrl 拒绝指向私有 / 内网地址的 URL

版本

参见 sqlmodel_ext.__version__。本文档面向 0.3.x 系列。