发布说明¶
最新更改¶
0.0.23¶
修复¶
- 🐛 修复
Field
构造函数中的类型注释。公关 #1304 作者 @AlanBogarin。 - 🐛 修复 Pydantic 版本检查,以支持 2.10.x 及更高版本。公关 #1255 作者 @asiunov。
重构¶
文档¶
- 🩺 仅从推送到
main
分支的操作中获取 GH 徽章。公关 #1291 作者 @svlandeg。 - 📝 更新文档以引用
list
而不是List
。公关 #1147 作者 @bubbletroubles。 - ✏️ 修复
databases.md
中的错别字。公关 #1113 作者 @radi-dev。 - ✏️ 修复
docs/tutorial/create-db-and-table.md
中的错别字。公关 #1252 作者 @ArianHamdi。 - ✏️ 修复
insert.md
中的错别字。公关 #1256 作者 @Noushadaliam。 - 📝 更新 markdown includes 格式。公关 #1254 作者 @tiangolo。
- 📝 更新 Decimal 文档中带围栏代码的格式以保持一致性。公关 #1251 作者 @tiangolo。
- ✏️ 修复 v0.0.22 发布说明中的错别字。公关 #1195 作者 @PipeKnight。
- 📝 更新
docs/advanced/uuid.md
的 includes。公关 #1151 作者 @tiangolo。 - 📝 更新
docs/tutorial/create-db-and-table.md
的 includes。公关 #1149 作者 @tiangolo。 - 📝 修复文档中的内部链接。公关 #1148 作者 @tiangolo。
- ✏️ 修复文档中的错别字。公关 #1106 作者 @Solipsistmonkey。
- 📝 移除
indexes.md
中的高亮显示。公关 #1100 作者 @alejsdev。
内部¶
- ⬆ 将 pypa/gh-action-pypi-publish 从 1.12.3 升级到 1.12.4。公关 #1277 作者 @dependabot[bot]。
- 💚 修复 Python 3.7 的 CI 测试套件。公关 #1309 作者 @svlandeg。
- 👷 还原 “将 Codecov 添加到 CI,Smokeshow/Cloudflare 最近不稳定 (#1303)”。公关 #1306 作者 @svlandeg。
- 👷 将 Codecov 添加到 CI,Smokeshow/Cloudflare 最近不稳定。公关 #1303 作者 @tiangolo。
- 👷 向 Smokeshow 添加重试。公关 #1302 作者 @svlandeg。
- ⬆ 将 astral-sh/setup-uv 从 4 升级到 5。公关 #1249 作者 @dependabot[bot]。
- ⬆ 将 pillow 从 10.3.0 升级到 11.0.0。公关 #1139 作者 @dependabot[bot]。
- ⬆ 将 pypa/gh-action-pypi-publish 从 1.9.0 升级到 1.12.3。公关 #1240 作者 @dependabot[bot]。
- ⬆ 将 astral-sh/setup-uv 从 3 升级到 4。公关 #1225 作者 @dependabot[bot]。
- ⬆ 将 tiangolo/latest-changes 从 0.3.1 升级到 0.3.2。公关 #1207 作者 @dependabot[bot]。
- 🔨 更新文档预览脚本。公关 #1236 作者 @tiangolo。
- 🔧 更新 build-docs 过滤器路径。公关 #1235 作者 @tiangolo。
- 🔧 更新团队成员。公关 #1234 作者 @tiangolo。
- ⬆️ 将 markdown-include-variants 升级到 0.0.3 版本。公关 #1152 作者 @tiangolo。
- 👷 更新 issue manager 工作流程。公关 #1137 作者 @alejsdev。
- 👷 修复 smokeshow,检出 CI 中的文件。公关 #1136 作者 @tiangolo。
- 👷 在 CI 中使用 uv。公关 #1135 作者 @tiangolo。
- ➕ 添加文档依赖项 markdown-include-variants。公关 #1129 作者 @tiangolo。
- 🔨 更新脚本以标准化格式。公关 #1130 作者 @tiangolo。
- 👷 更新
labeler.yml
。公关 #1128 作者 @tiangolo。 - 👷 更新 worfkow deploy-docs-notify URL。公关 #1126 作者 @tiangolo。
- 👷 升级 Cloudflare GitHub Action。公关 #1124 作者 @tiangolo。
- ⬆ [pre-commit.ci] pre-commit autoupdate。公关 #1097 作者 @pre-commit-ci[bot]。
- ⬆ 将 tiangolo/issue-manager 从 0.5.0 升级到 0.5.1。公关 #1107 作者 @dependabot[bot]。
- 👷 更新
issue-manager.yml
。公关 #1103 作者 @tiangolo。 - 👷 修复 CI 中的覆盖率处理,每个矩阵运行一个名称。公关 #1104 作者 @tiangolo。
- 💚 使用
upload-artifact
GH 操作时,将include-hidden-files
设置为True
。公关 #1098 作者 @svlandeg。 - ⬆ [pre-commit.ci] pre-commit autoupdate。公关 #1088 作者 @pre-commit-ci[bot]。
0.0.22¶
修复¶
文档¶
- ✏️ 修复
docs/virtual-environments.md
中的错别字。公关 #1085 作者 @tiangolo。 - 📝 添加虚拟环境和环境变量的文档,更新贡献指南。公关 #1082 作者 @tiangolo。
- 📝 添加关于仓库管理和团队的文档。公关 #1059 作者 @tiangolo。
- ✏️ 修复
cascade_delete
文档中的错别字。公关 #1030 作者 @tiangolo。
内部¶
- ✅ 重构 test_enums 以使其独立于之前的导入。公关 #1095 作者 @tiangolo。
- 👷 更新
latest-changes
GitHub Action。公关 #1087 作者 @tiangolo。 - ⬆ [pre-commit.ci] pre-commit autoupdate。公关 #1028 作者 @pre-commit-ci[bot]。
- ⬆ 将 ruff 从 0.4.7 升级到 0.6.2。公关 #1081 作者 @dependabot[bot]。
- 🔧 更新 lint 脚本。公关 #1084 作者 @tiangolo。
- 👷 更新覆盖率的 Python 版本。公关 #1083 作者 @tiangolo。
- 🔧 更新覆盖率配置文件。公关 #1077 作者 @tiangolo。
- 🔧 向
pyproject.toml
添加 URL,在 PyPI 中显示。公关 #1074 作者 @tiangolo。 - 👷 不要同步标签,因为它会覆盖手动添加的标签。公关 #1073 作者 @tiangolo。
- 👷 更新 GitHub Action labeler 的配置,以仅添加一个标签。公关 #1072 作者 @tiangolo。
- 👷 更新 labeler GitHub Actions 权限和依赖项。公关 #1071 作者 @tiangolo。
- 👷 添加 GitHub Action label-checker。公关 #1069 作者 @tiangolo。
- 👷 添加 GitHub Action labeler。公关 #1068 作者 @tiangolo。
- 👷 更新 GitHub Action add-to-project。公关 #1067 作者 @tiangolo。
- 👷 添加 GitHub Action add-to-project。公关 #1066 作者 @tiangolo。
- 📝 更新注释中的警告框。公关 #1065 作者 @tiangolo。
- 📝 将链接从 github.com/tiangolo/sqlmodel 更新到 github.com/fastapi/sqlmodel。公关 #1064 作者 @tiangolo。
- 🔧 更新成员。公关 #1063 作者 @tiangolo。
- 💄 添加暗黑模式徽标。公关 #1061 作者 @tiangolo。
- 🔨 更新 docs.py 脚本以有条件地启用脏重载。公关 #1060 作者 @tiangolo。
- 🔧 更新 MkDocs 预览。公关 #1058 作者 @tiangolo。
- 💄 更新 Termynal 行高。公关 #1057 作者 @tiangolo。
- 👷 升级 build docs 配置。公关 #1047 作者 @tiangolo。
- 👷 为 test-redistribute 添加 alls-green。公关 #1055 作者 @tiangolo。
- 👷 更新 docs-previews 以处理无文档更改的情况。公关 #1056 作者 @tiangolo。
- 👷🏻 在评论中显示文档部署状态和预览 URL。公关 #1054 作者 @tiangolo。
- 🔧 启用自动暗黑模式。公关 #1046 作者 @tiangolo。
- 👷 更新 issue-manager。公关 #1045 作者 @tiangolo。
- 👷 更新 issue-manager.yml GitHub Action 权限。公关 #1040 作者 @tiangolo。
- ♻️ 重构 Deploy Docs GitHub Action 使其成为脚本,并更新令牌以准备组织迁移。公关 #1039 作者 @tiangolo。
0.0.21¶
特性¶
- ✨ 添加对级联删除关系的支持:
cascade_delete
、ondelete
和passive_deletes
。初始公关 #983 作者 @estebanx64。 - 新文档位于:级联删除关系。
文档¶
内部¶
- ⬆ 将 actions/cache 从 3 升级到 4。公关 #783 作者 @dependabot[bot]。
- ⬆ 将 cairosvg 从 2.7.0 升级到 2.7.1。公关 #919 作者 @dependabot[bot]。
- ⬆ 将 jinja2 从 3.1.3 升级到 3.1.4。公关 #974 作者 @dependabot[bot]。
- ⬆ 将 pypa/gh-action-pypi-publish 从 1.8.11 升级到 1.9.0。公关 #987 作者 @dependabot[bot]。
- ⬆ 将 mkdocstrings[python] 从 0.23.0 升级到 0.25.1。公关 #927 作者 @dependabot[bot]。
- ⬆ 将 dorny/paths-filter 从 2 升级到 3。公关 #972 作者 @dependabot[bot]。
0.0.20¶
特性¶
- ✨ 添加官方 UUID 支持、文档和测试,内部使用新的 SQLAlchemy 2.0 类型。初始公关 #992 作者 @estebanx64。
- 新文档位于 高级用户指南:UUID(通用唯一标识符)。
文档¶
- ✏️ 修复
docs/tutorial/create-db-and-table.md
中的内部链接。公关 #911 作者 @tfpgh。 - ✏️ 在
create-db-and-table-with-db-browser.md
中添加缺失的步骤。公关 #976 作者 @alejsdev。 - ✏️ 修复
docs/tutorial
中的错别字。公关 #943 作者 @luco17。 - ✏️ 修复
sqlmodel/_compat.py
中的错别字。公关 #950 作者 @Highfire1。 - ✏️ 更新教程中的 pip 安装命令。公关 #975 作者 @alejsdev。
- ✏️ 修复
docs/tutorial/relationship-attributes/index.md
中的错别字。公关 #880 作者 @UncleGoogle。
内部¶
- ⬆ [pre-commit.ci] pre-commit autoupdate。公关 #979 作者 @pre-commit-ci[bot]。
- 🔨 更新文档 Termynal 脚本,使其不包含本地开发的代码行号。公关 #1018 作者 @tiangolo。
0.0.19¶
修复¶
- 🐛 修复 pydantic
EmailStr
支持和多个 String 子类中的max_length
。公关 #966 作者 @estebanx64。 - 🐛 修复在使用 Pydantic v2 的 Pydantic 模型上设置
max_length
时设置 varchar 限制的问题。公关 #963 作者 @estebanx64。
重构¶
升级¶
文档¶
- ✏️ 修复
docs/features.md
中指向@dataclass_transform
(现在是 PEP 681)的损坏链接。公关 #753 作者 @soof-golan。
内部¶
- ⬆️ 升级 Ruff 和 Black。公关 #968 作者 @tiangolo。
- ⬆ 将 tiangolo/issue-manager 从 0.4.1 升级到 0.5.0。公关 #922 作者 @dependabot[bot]。
- 📌 在测试中固定 typing-extensions,以兼容 Python 3.8、dirty-equals、Pydantic。公关 #965 作者 @tiangolo。
- 👷 更新 GitHub Actions 以下载和上传工件。公关 #936 作者 @tiangolo。
- 👷 调整 CI 以进行 test-redistribute,为 slim 添加所需的环境变量。公关 #929 作者 @tiangolo。
0.0.18¶
内部¶
未来 SQLModel 将包含标准默认推荐包,而 sqlmodel-slim
将不包含这些推荐的标准包,并带有一组可选依赖项 sqlmodel-slim[standard]
,相当于 sqlmodel
,供那些想要选择不使用这些包的用户使用。
0.0.17¶
重构¶
文档¶
- 📝 将 ModelRead 更新为 ModelPublic 文档和示例。公关 #885 作者 @estebanx64。
- ✨ 添加 Python 3.10 和 3.9 的源代码示例,并更新了语法。公关 #842 作者 @tiangolo 和 @estebanx64。
内部¶
- ⬆ 将 actions/setup-python 从 4 升级到 5。公关 #733 作者 @dependabot[bot]。
- 🔨 更新内部脚本并移除未使用的脚本。公关 #914 作者 @tiangolo。
- 🔧 将内部构建配置从 Poetry 迁移到 PDM。公关 #912 作者 @tiangolo。
- 🔧 更新 MkDocs,禁用卡片,同时我可以升级到最新的 MkDocs Material,这修复了社交卡片的问题。公关 #888 作者 @tiangolo。
- 👷 添加 cron 以每周一运行测试。公关 #869 作者 @estebanx64。
- ⬆️ 升级 Ruff 版本和配置。公关 #859 作者 @tiangolo。
- 🔥 移除 Jina QA Bot,因为它已停止使用。公关 #840 作者 @tiangolo。
0.0.16¶
特性¶
- ✨ 添加新方法
.sqlmodel_update()
以就地更新模型,包括用于额外数据的update
参数。并修复了.model_validate()
的(现在已记录的)update
参数的实现。公关 #804 作者 @tiangolo。- 更新的文档:使用 FastAPI 更新数据。
- 新文档:使用 FastAPI 更新额外数据(哈希密码)。
0.0.15¶
修复¶
内部¶
- ⬆ 将 tiangolo/issue-manager 从 0.4.0 升级到 0.4.1。公关 #775 作者 @dependabot[bot]。
- 👷 修复 GitHub Actions build docs 过滤器路径,以用于 GitHub 工作流程。公关 #738 作者 @tiangolo。
0.0.14¶
特性¶
- ✨ 添加对 Pydantic v2 的支持(同时在 v2 不可用时保持对 v1 的支持)。公关 #722 作者 @tiangolo,包括公关 #699 中由 @AntonDeMeester 完成的初始工作。
0.0.13¶
修复¶
重构¶
- 🔇 不要为 execute 引发弃用警告,因为它在内部自动使用。公关 #716 作者 @tiangolo。
- ✅ 将 OpenAPI 测试移动到内联,以简化使用 Pydantic v2 更新它们的过程。公关 #709 作者 @tiangolo。
升级¶
文档¶
- ✏️ 修复错别字,简化文档中各处的 “Sister Margaret's” 中的单引号/撇号字符。公关 #721 作者 @tiangolo。
- 📝 更新 Decimal 的文档,使用正确的类型。公关 #719 作者 @tiangolo。
- 📝 添加 Python 3.9 和 3.10 的源代码示例。公关 #715 作者 @tiangolo。
内部¶
- 🙈 更新 gitignore,包含所有覆盖率文件。公关 #711 作者 @tiangolo。
- 🔧 使用新的 pymdown 扩展更新配置。公关 #712 作者 @tiangolo。
- 🔧 更新文档构建设置,添加对赞助商的支持,添加赞助商 GOVCERT.LU。公关 #720 作者 @tiangolo。
- ⬆ [pre-commit.ci] pre-commit autoupdate。公关 #697 作者 @pre-commit-ci[bot]。
- 🔧 在本地开发期间在文档中显示行号。公关 #714 作者 @tiangolo。
- 📝 使用新的 pymdown 扩展格式更新 details 语法。公关 #713 作者 @tiangolo。
0.0.12¶
特性¶
- ✨ 升级 SQLAlchemy 至 2.0。PR #700 由 @tiangolo 贡献,包括 PR #563 中 @farahats9 的初步工作。
内部¶
- ⬆ [pre-commit.ci] pre-commit 自动更新。PR #686 由 @pre-commit-ci[bot] 贡献。
- 👷 升级 latest-changes GitHub Action。PR #693 由 @tiangolo 贡献。
0.0.11¶
功能特性¶
- ✨ 添加支持通过
sa_type
将自定义 SQLAlchemy 类型传递给Field()
。PR #505 由 @maru0123-2004 贡献。- 如果您之前使用了不兼容的参数组合,并且这些参数没有生效,但现在您将收到类型错误和运行时错误提示,那么您可能会认为这是一个破坏性更改。
- ✨ 不允许列和关系的字段参数的无效组合,
sa_column
排除sa_column_args
、primary_key
、nullable
等。PR #681 由 @tiangolo 贡献。
文档¶
- 🎨 更新内联源代码示例,隐藏注释中的
#
(来自 MkDocs Material)。PR #677 由 @Matthieu-LAURENT39 贡献。
内部¶
- ⬆ 更新 coverage 要求从 ^6.2 到 >=6.2,<8.0。PR #663 由 @dependabot[bot] 贡献。
- ⬆ 更新 mkdocs-material 要求从 9.1.21 到 9.2.7。PR #675 由 @dependabot[bot] 贡献。
- ⬆️ 手动升级 mypy。PR #684 由 @tiangolo 贡献。
- ⬆ 更新 black 要求从 ^22.10.0 到 >=22.10,<24.0。PR #664 由 @dependabot[bot] 贡献。
- 👷 更新 CI,仅在 secrets 可用时为 Dependabot 构建 MkDocs Insiders。PR #683 由 @tiangolo 贡献。
0.0.10¶
功能特性¶
- ✨ 添加支持来自 Pydantic
1.9.0
及以上版本的所有Field
参数,使 Pydantic1.9.0
成为最低要求版本。PR #440 由 @daniil-berg 贡献。
内部¶
0.0.9¶
破坏性更改¶
功能特性¶
修复¶
- 🐛 修复
AsyncSession
类型注释中exec()
的错误。PR #58 由 @Bobronium 贡献。 - 🐛 修复允许直接使用
ForeignKey
的问题,从SQLModelMetaclass.__init__
中删除重复的列构造,并将最低 SQLAlchemy 版本升级到>=1.4.36
。PR #443 由 @daniil-berg 贡献。 - 🐛 修复
get_sqlalchemy_type
中的枚举类型检查顺序。PR #669 由 @tiangolo 贡献。 - 🐛 修复 SQLAlchemy 版本 1.4.36 破坏 SQLModel 关系的问题 (#315)。PR #461 由 @byrman 贡献。
升级¶
- ⬆️ 升级对 SQLAlchemy 1.4.49 的支持,更新测试。PR #519 由 @sandrotosi 贡献。
- ⬆ 将 SQLAlchemy 版本要求提高到至少
1.4.29
(与 #434 相关)。PR #439 由 @daniil-berg 贡献。
文档¶
- 📝 澄清
docs/tutorial/create-db-and-table.md
中内存 SQLite 数据库的描述。PR #601 由 @SimonCW 贡献。 - 📝 调整
docs/tutorial/fastapi/multiple-models.md
中的措辞。PR #674 由 @tiangolo 贡献。 - ✏️ 修复运行测试的贡献说明,更新脚本名称。PR #634 由 @PookieBuns 贡献。
- 📝 更新数据库入门文档的链接。PR #593 由 @abenezerBelachew 贡献。
- 📝 更新文档,在带有
limit
和where
的示例中使用offset
。PR #273 由 @jbmchuck 贡献。 - 📝 修复 Pydantic 字段的文档,使用
le
(lte
无效,请使用le
)。PR #207 由 @jrycw 贡献。 - 📝 更新
docs/db-to-code.md
中的过时链接。PR #649 由 @MatveyF 贡献。 - ✏️ 修复使用 codespell 发现的拼写错误。PR #520 由 @kianmeng 贡献。
- 📝 修复主页上的拼写错误(重复)。PR #631 由 @Mr-DRP 贡献。
- 📝 更新发布说明,为 PR 添加第二作者。PR #429 由 @br-follow 贡献。
- 📝 更新关于如何在
docs/tutorial/relationship-attributes/define-relationships-attributes.md
中使外键成为必需的说明。PR #474 由 @jalvaradosegura 贡献。 - 📝 更新帮助 SQLModel 文档。PR #548 由 @tiangolo 贡献。
- ✏️ 修复内部函数名称
get_sqlachemy_type()
中的拼写错误。PR #496 由 @cmarqu 贡献。 - ✏️ 修复文档中的拼写错误。PR #446 由 @davidbrochart 贡献。
- ✏️ 修复
docs/tutorial/create-db-and-table.md
中的拼写错误。PR #477 由 @FluffyDietEngine 贡献。 - ✏️ 修复文档中的小拼写错误。PR #481 由 @micuffaro 贡献。
内部¶
- ⬆ [pre-commit.ci] pre-commit 自动更新。PR #672 由 @pre-commit-ci[bot] 贡献。
- ⬆ Bump dawidd6/action-download-artifact 从 2.24.2 到 2.28.0。PR #660 由 @dependabot[bot] 贡献。
- ✅ 重构 OpenAPI FastAPI 测试以简化后续更新,这只是移动了代码位置,没有功能更改。PR #671 由 @tiangolo 贡献。
- ⬆ Bump actions/checkout 从 3 到 4。PR #670 由 @dependabot[bot] 贡献。
- 🔧 更新 mypy 配置,使用
strict = true
代替手动配置。PR #428 由 @michaeloliverx 贡献。 - ⬆️ 升级 MkDocs Material。PR #668 由 @tiangolo 贡献。
- 🎨 使用 pre-commit 和 Ruff 更新文档格式和引用。PR #667 由 @tiangolo 贡献。
- 🎨 在所有文件上运行 pre-commit 并自动格式化。PR #666 由 @tiangolo 贡献。
- 👷 迁移到 Ruff 并添加 pre-commit。PR #661 由 @tiangolo 贡献。
- 🛠️ 添加
CITATION.cff
文件用于学术引用。PR #13 由 @sugatoray 贡献。 - 👷 更新文档部署到 Cloudflare。PR #630 由 @tiangolo 贡献。
- 👷♂️ 升级文档的 CI。PR #628 由 @tiangolo 贡献。
- 👷 更新带有 Tmate 的 CI 调试模式。PR #629 由 @tiangolo 贡献。
- 👷 更新 latest changes token。PR #616 由 @tiangolo 贡献。
- ⬆️ 升级分析工具。PR #558 由 @tiangolo 贡献。
- 🔧 更新 new issue chooser 以指向 GitHub Discussions。PR #546 由 @tiangolo 贡献。
- 🔧 为 GitHub Discussion 问题添加模板并更新 issues 模板。PR #544 由 @tiangolo 贡献。
- 👷 重构 CI artifact 上传/下载以用于文档预览。PR #514 由 @tiangolo 贡献。
- ⬆ Bump actions/cache 从 2 到 3。PR #497 由 @dependabot[bot] 贡献。
- ⬆ Bump dawidd6/action-download-artifact 从 2.24.0 到 2.24.2。PR #493 由 @dependabot[bot] 贡献。
- 🔧 更新 Smokeshow 覆盖率阈值。PR #487 由 @tiangolo 贡献。
- 👷 从 Codecov 迁移到 Smokeshow。PR #486 由 @tiangolo 贡献。
- ⬆ Bump actions/setup-python 从 2 到 4。PR #411 由 @dependabot[bot] 贡献。
- ⬆ 更新 black 要求从 ^21.5-beta.1 到 ^22.10.0。PR #460 由 @dependabot[bot] 贡献。
- ➕ 为 MkDocs Material 添加额外的开发依赖项。PR #485 由 @tiangolo 贡献。
- ⬆ 更新 mypy 要求从 0.930 到 0.971。PR #380 由 @dependabot[bot] 贡献。
- ⬆ 更新 coverage 要求从 ^5.5 到 ^6.2。PR #171 由 @dependabot[bot] 贡献。
- ⬆ Bump codecov/codecov-action 从 2 到 3。PR #415 由 @dependabot[bot] 贡献。
- ⬆ Bump actions/upload-artifact 从 2 到 3。PR #412 由 @dependabot[bot] 贡献。
- ⬆ 更新 flake8 要求从 ^3.9.2 到 ^5.0.4。PR #396 由 @dependabot[bot] 贡献。
- ⬆ 更新 pytest 要求从 ^6.2.4 到 ^7.0.1。PR #242 由 @dependabot[bot] 贡献。
- ⬆ Bump actions/checkout 从 2 到 3.1.0。PR #458 由 @dependabot[bot] 贡献。
- ⬆ Bump dawidd6/action-download-artifact 从 2.9.0 到 2.24.0。PR #470 由 @dependabot[bot] 贡献。
- 👷 更新 Dependabot 配置。PR #484 由 @tiangolo 贡献。
0.0.8¶
修复¶
- 🐛 修复自动检测和设置
nullable
,允许在字段中覆盖。PR #423 由 @JonasKs 和 @br-follow 贡献。 - ♻️ 更新
expresion.py
,从 Jinja2 模板同步,实现inherit_cache
以解决类似错误:SAWarning: Class SelectOfScalar will not make use of SQL compilation caching
。PR #422 由 @tiangolo 贡献。
文档¶
- 📝 调整和澄清
docs/tutorial/create-db-and-table.md
的文档。PR #426 由 @tiangolo 贡献。 - ✏ 修复
docs/tutorial/connect/remove-data-connections.md
中的拼写错误。PR #421 由 @VerdantFox 贡献。
0.0.7¶
功能特性¶
- ✨ 允许在
Field()
中为列设置unique
。PR #83 由 @raphaelgibson 贡献。 - ✨ 更新 GUID 处理以使用 stdlib
UUID.hex
而不是int
。PR #26 由 @andrewbolster 贡献。 - ✨ 当使用没有匹配的 SQLAlchemy 类型的 Pydantic 字段类型时,引发异常。PR #18 由 @elben10 贡献。
- ⬆ 升级 SQLAlchemy 的约束 = ">=1.4.17,<=1.4.41"。PR #371 由 @RobertRosca 贡献。
- ✨ 添加新的
Session.get()
参数execution_options
。PR #302 由 @tiangolo 贡献。
修复¶
- 🐛 修复
Model.parse_obj()
和Model.validate()
的类型注释。PR #321 由 @phi-friday 贡献。 - 🐛 修复
Select
和SelectOfScalar
继承缓存以避免警告:SAWarning: Class SelectOfScalar will not make use of SQL compilation caching
。PR #234 由 @rabinadk1 贡献。 - 🐛 修复非默认值的验证器处理。PR #253 由 @byrman 贡献。
- 🐛 修复模型中标记为“set”的字段。PR #117 由 @statt8900 贡献。
- 🐛 修复 SQLAlchemy 中的 Enum 处理。PR #165 由 @chriswhite199 贡献。
- 🐛 修复不接受
None
的字段设置 nullable 属性的问题。PR #79 由 @van51 贡献。 - 🐛 修复 SQLAlchemy 版本 1.4.36 破坏 SQLModel 关系的问题 (#315)。PR #322 由 @byrman 贡献。
文档¶
- 📝 更新用于更新的模型的文档,
id
不应是可更新的。PR #335 由 @kurtportelli 贡献。 - ✏ 修复读取关系文档中的变量/拼写错误,
hero_spider_boy.id
=>hero_spider_boy.team_id
。PR #106 由 @yoannmos 贡献。 - 🎨 移除文档中不需要的高亮。PR #233 由 @jalvaradosegura 贡献。
- ✏ 修复
docs/databases.md
和docs/tutorial/index.md
中的拼写错误。PR #35 由 @prrao87 贡献。 - ✏ 修复
docs/tutorial/relationship-attributes/define-relationships-attributes.md
中的拼写错误。PR #239 由 @jalvaradosegura 贡献。 - ✏ 修复
docs/tutorial/fastapi/simple-hero-api.md
中的拼写错误。PR #80 由 @joemudryk 贡献。 - ✏ 修复文档中多个文件中的拼写错误。PR #400 由 @VictorGambarini 贡献。
- ✏ 修复
docs/tutorial/code-structure.md
中的拼写错误。PR #344 由 @marciomazza 贡献。 - ✏ 修复
docs/db-to-code.md
中的拼写错误。PR #155 由 @gr8jam 贡献。 - ✏ 修复
docs/contributing.md
中的拼写错误。PR #323 由 @Fardad13 贡献。 - ✏ 修复
docs/tutorial/fastapi/tests.md
中的拼写错误。PR #265 由 @johnhoman 贡献。 - ✏ 修复
docs/tutorial/where.md
中的拼写错误。PR #286 由 @jalvaradosegura 贡献。 - ✏ 修复
docs/tutorial/fastapi/update.md
中的拼写错误。PR #268 由 @cirrusj 贡献。 - ✏ 修复
docs/tutorial/fastapi/simple-hero-api.md
中的拼写错误。PR #247 由 @hao-wang 贡献。 - ✏ 修复
docs/tutorial/automatic-id-none-refresh.md
,docs/tutorial/fastapi/update.md
,docs/tutorial/select.md
中的拼写错误。PR #185 由 @rootux 贡献。 - ✏ 修复
docs/databases.md
中的拼写错误。PR #177 由 @seandlg 贡献。 - ✏ 修复
docs/tutorial/fastapi/update.md
中的拼写错误。PR #162 由 @wmcgee3 贡献。 - ✏ 修复
docs/tutorial/code-structure.md
,docs/tutorial/fastapi/multiple-models.md
,docs/tutorial/fastapi/simple-hero-api.md
,docs/tutorial/many-to-many/index.md
中的拼写错误。PR #116 由 @moonso 贡献。 - ✏ 修复
docs/tutorial/fastapi/teams.md
中的拼写错误。PR #154 由 @chrisgoddard 贡献。 - ✏ 修复关于关系和
back_populates
的示例中的拼写错误变量,始终使用hero
而不是owner
。PR #120 由 @onionj 贡献。 - ✏ 修复
docs/tutorial/fastapi/tests.md
中的拼写错误。PR #113 由 @feanil 贡献。 - ✏ 修复
docs/tutorial/where.md
中的拼写错误。PR #72 由 @ZettZet 贡献。 - ✏ 修复
docs/tutorial/code-structure.md
中的拼写错误。PR #91 由 @dhiraj 贡献。 - ✏ 修复
docs/help.md
中指向新闻邮件注册的错误链接。PR #84 由 @mborus 贡献。 - ✏ 修复
docs/tutorial/many-to-many/create-models-with-link.md
中的拼写错误。PR #45 由 @xginn8 贡献。 - ✏ 修复
docs/tutorial/index.md
中的拼写错误。PR #398 由 @ryangrose 贡献。
内部¶
- ♻ 重构内部语句以简化代码。PR #53 由 @yezz123 贡献。
- ♻ 重构内部导入以减少冗余。PR #272 由 @aminalaee 贡献。
- ⬆ 更新 FastAPI 的开发要求从
^0.68.0
到^0.68.1
。PR #48 由 @alucarddelta 贡献。 - ⏪ 恢复 Poetry 升级,以便首先发布支持 Python 3.6 的版本。PR #417 由 @tiangolo 贡献。
- 👷 为 GitHub Actions 添加 dependabot。PR #410 由 @tiangolo 贡献。
- ⬆️ 升级 Poetry 到版本
==1.2.0b1
。PR #303 由 @tiangolo 贡献。 - 👷 为 Python 3.10 添加 CI。PR #305 由 @tiangolo 贡献。
- 📝 将 Jina 的 QA Bot 添加到文档中,以帮助想要快速提问的人。PR #263 由 @tiangolo 贡献。
- 👷 升级 Codecov GitHub Action。PR #304 由 @tiangolo 贡献。
- 💚 仅在 master 分支上推送时运行 CI,以避免在 PR 上重复运行。PR #244 由 @tiangolo 贡献。
- 🔧 升级 MkDocs Material 并更新配置。PR #217 由 @tiangolo 贡献。
- ⬆ 升级 mypy,修复类型注释。PR #218 由 @tiangolo 贡献。
0.0.6¶
破坏性更改¶
SQLModel 不再默认为每个列创建索引,现在索引是选择性的。您可以在 PR #205 中阅读更多相关信息。
在此更改之前,如果您有如下模型
from typing import Optional
from sqlmodel import Field, SQLModel
class Hero(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
name: str
secret_name: str
age: Optional[int] = None
...在创建表时,SQLModel 版本 0.0.5
及更低版本,还会为 name
、secret_name
和 age
创建索引(id
是主键,因此不需要额外的索引)。
如果您依赖于为每个列都创建索引,那么现在您可以(并且必须)显式定义它们
class Hero(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
name: str = Field(index=True)
secret_name: str = Field(index=True)
age: Optional[int] = Field(default=None, index=True)
您很可能不需要为所有列都创建索引。例如,您可能只需要为 name
和 age
创建索引,而不需要为 secret_name
创建索引。在这种情况下,您可以将模型定义为
class Hero(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
name: str = Field(index=True)
secret_name: str
age: Optional[int] = Field(default=None, index=True)
如果您已经使用 SQLModel 版本 0.0.5
或更低版本创建了数据库表,那么它也会在数据库中创建这些索引。在这种情况下,如果这些索引是不必要的,您可能需要手动删除(移除)其中一些索引,以避免额外的性能和空间成本。
根据您使用的数据库,会有不同的方法来查找可用的索引。
例如,假设您不再需要 secret_name
的索引。您可以检查数据库中的当前索引,并找到 secret_name
的索引,它可能被命名为 ix_hero_secret_name
。然后您可以使用 SQL 删除它
DROP INDEX ix_hero_secret_name
或
DROP INDEX ix_hero_secret_name ON hero;
这是新的、详尽的文档,解释了索引以及如何使用它们:索引 - 优化查询。
文档¶
- ✨ 记录索引并使其成为可选项。这是新文档:索引 - 优化查询。这与上面破坏性更改中描述的更改相同。PR #205 由 @tiangolo 贡献。
- ✏ 修复 FastAPI 教程中的拼写错误。PR #192 由 @yaquelinehoyos 贡献。
- 📝 添加许可证文件的链接。PR #29 由 @sobolevn 贡献。
- ✏ 修复文档标题中的拼写错误。PR #28 由 @Batalex 贡献。
- ✏ 修复多个拼写错误和一些措辞修改。PR #22 由 @egrim 贡献。
- ✏ 修复
docs/tutorial/automatic-id-none-refresh.md
中的拼写错误。PR #14 由 @leynier 贡献。 - ✏ 修复
docs/tutorial/index.md
和docs/databases.md
中的拼写错误。PR #5 由 @sebastianmarines 贡献。
0.0.5¶
功能特性¶
- ✨ 添加对来自 Pydantic 和 SQLAlchemy 的 Decimal 字段的支持。原始 PR #103 由 @robcxyz 贡献。新文档:高级用户指南 - 十进制数字。
文档¶
内部¶
- 🔧 在 CI 中拆分 MkDocs insiders 构建以支持从 PR 构建。PR #186 由 @tiangolo 贡献。
- 🎨 格式化
expression.py
和 expression 模板,当前 CI 需要。PR #187 由 @tiangolo 贡献。 - 🐛 修复文档 light/dark 主题切换器。PR #1 由 @Lehoczky 贡献。
- 🔧 添加 MkDocs Material social cards。PR #90 由 @tiangolo 贡献。
- ✨ 更新类型注释并升级 mypy。PR #173 由 @tiangolo 贡献。
0.0.4¶
0.0.3¶
0.0.2¶
0.0.1¶
- 首次发布。🎉