跳转至

批量操作

示例:筛选库存低于 10 且状态为 ready 的商品,涨价 7%,并将状态改为 order。

1. 选择范围

在 Bulk change 中选择当前页高亮行,或选择所有匹配记录(包括其他页)。范围始终受 queryset、当前权限和项目策略限制。

等价的 API 条件
{"and":[{"field":"stock","op":"lt","value":10},{"field":"status","op":"eq","value":"ready"}]}

2. 添加赋值

字段 新值
price =ROUND([price]*1.07,2)
status order

所有赋值读取原始数据,顺序不影响结果。

3. 生成预览

预览固定所有候选主键、原始版本、计算结果和错误。界面展示总数与前 50 条结果。后来才匹配条件的商品不会加入计划;更改条件或公式需要重新预览。

4. 确认执行

执行接受已生成的操作 ID。重复调用不会再次涨价。写入前会重新检查权限和版本。已变化的记录产生冲突,修正后需建立新计划。

5. 查看报告

历史记录包含状态、计数、逐行结果和错误;可见字段和历史访问均按当前权限判断。

模式 保证
同步 单个事务,全成或全败
后台 分批提交,可能部分完成

大型操作

默认后台阈值为 5000 行,批次大小为 200。未配置 BackgroundAdapter 时,超出阈值会在昂贵处理前拒绝。大型预览也通过适配器运行。软件包不附带队列或 Celery worker。

取消只停止后续批次,不回滚已完成更改。恢复只处理未完成项,不重复成功项。参见后台契约与 HTTP API。