跳转至

验证报告 · 2026-10-24

发布前的本地报告

此报告记录公开发布前的本地检查。0.3.0a1 现已在 PyPI 发布;后续远程结果参见 GitHub Actions。

环境与结果

版本 0.3.0a1。macOS arm64、Python 3.13.7、Django 6.0.4、SQLite、Node 22.19.0、npm 10.9.3。Frontend 依赖固定在 frontend/package-lock.json;浏览器测试通过 MODELSHEET_CHROMIUM 使用本机 Chromium 与 Playwright 的本地 Django 服务。

检查 结果
pytest:后端、公式、权限、事务 102 通过
Vitest:缓冲与公式 57 通过
Playwright 浏览器场景 10 通过
TypeScript、Vite、Ruff、Django checks 通过
缺失迁移检测 无变化
wheel/sdist 构建与 twine 元数据 通过
在仓库导入路径外安装 wheel 通过
已安装包的 migrate/collectstatic 通过,无需 Node.js
模板、静态资源、依赖许可证 完整
sdist 内容 不含 node_modules 或浏览器报告

Smoke test 创建可访问系统依赖的新虚拟环境,不解析依赖地安装 wheel,再使用独立数据库与 settings 在仓库外执行。它验证打包集成,不验证从索引全新下载 Django。

浏览器覆盖公式编辑/撤销/重做/保存/重载、只读粘贴、预览确认、失败保留、Admin 分页与搜索、50 列虚拟化、键盘导航、服务器排序、Ctrl+D、切换视图后拒绝位置公式粘贴。

后端覆盖权限绕过尝试、隐藏字段和历史脱敏、只读审计 Admin、标准 Admin 保存冲突、事务回滚、独立连接并发、重复键、固定候选、依赖冲突、后台取消恢复、重复投递、部分完成和批次间权限撤销。

测量结果

临时 SQLite 数据库含 50 个标量数据列,每页 200 行,每场景测量 10 次。后端延迟包含快照保存与精确计数,不含 HTTP/浏览器。结果为本机观察,非普适性能承诺;测试未与其他开发活动隔离,沙箱未提供 CPU/RAM 详情。

数据 / 操作 中位数 p95
100k / 第 1 页 29.94 ms 40.70 ms
100k / 第 5 页 33.75 ms 40.94 ms
100k / 精确索引筛选 2.99 ms 4.80 ms
100k / 子串搜索 46.60 ms 57.19 ms
1M / 第 1 页 36.07 ms 300.50 ms
1M / 第 5 页 37.32 ms 60.13 ms
1M / 精确索引筛选 2.15 ms 3.37 ms
1M / 子串搜索 377.84 ms 442.33 ms

每次调用使用 4 条 SQL。原始结果:100k、1M。复现方法见性能基准。

此本地报告未验证的部分

PostgreSQL/MySQL/Docker 在本机不可用;其他 Python/Django 组合由 CI 配置,需以各次运行结果为准。最初名称探测遇到证书/网络问题,不能视为名称预留。此报告编写时尚未上传 PyPI/TestPyPI 或执行远程 CI;公开 PyPI 发布后来完成,见顶部说明。首版没有旧版升级路径可测试。发布步骤见发布指南。