diff --git a/inventory-backend/app/api/v1/bom.py b/inventory-backend/app/api/v1/bom.py index cb3e9ea..643381c 100644 --- a/inventory-backend/app/api/v1/bom.py +++ b/inventory-backend/app/api/v1/bom.py @@ -214,12 +214,16 @@ def delete_bom(bom_no): if version: query = query.filter_by(version=version) - exist = query.first() - if not exist: + # 【核心修复】:使用 .all() 查出该 BOM 版本下的所有子件记录 + records = query.all() + + if not records: return jsonify({'code': 404, 'msg': 'BOM 不存在'}), 404 - # 删除(改为对象级删除以触发审计事件) - db.session.delete(exist) + # 循环删除所有关联记录(逐个 delete 可触发 SQLAlchemy 监听器记录审计日志) + for rec in records: + db.session.delete(rec) + db.session.commit() return jsonify({ 'code': 200,