见开发手册:
苏哥,我发现合法性验证try里面,如果拋出PermissionError,会导致finally里面的模型写入操作回滚。
是不是上层(或者orm)有代码执行了roolback?
e[31m[2025-08-20 15:42:43][15828][29600][ERROR][jit.elements.element:24][wrapper]e[0m: [aff91cb10e074930980ec40f5671a26b] {“code”: 20005, “reason”: “interceptors.BearerToken【BearerToken鉴权】元素异常,请检查元素代码或参数。错误信息:认证失败”}e[0m
Traceback (most recent call last):
File “jit.elements.element”, line 33, in wrapper
File “C:\JitNode\home\environs\JED_SVeLBDMCTd\jdybg\BG_DataHub\0_0_0\interceptors\BearerToken\interceptor.py”, line 92, in before
raise PermissionError(“认证失败”)
PermissionError: 认证失败
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “jit.elements.element”, line 22, in wrapper
File “interceptors.Http.lifecycle”, line 66, in onAppExit
File “jit.runenvirons.web”, line 240, in handleAsf
File “jit.elements.stack”, line 253, in handleRequest
File “jit.elements.app”, line 1083, in handleRequest
File “jit.elements.app”, line 1063, in loadElementsByLoadTime
File “jit.elements.app”, line 387, in getattr
File “jit.elements.app”, line 730, in getElement
File “interceptors.Http.lifecycle”, line 51, in onCalled
File “jit.elements.element”, line 37, in wrapper
File “jit.elements.element”, line 67, in elementExceptHandler
jit.errcode.Code: {“code”: 20005, “reason”: “interceptors.BearerToken【BearerToken鉴权】元素异常,请检查元素代码或参数。错误信息:认证失败”}
e[34m[2025-08-20 15:42:43][15828][29600][DEBUG][jit.elements.stack:198][exit]e[0m: [aff91cb10e074930980ec40f5671a26b] 执行数据库连接池回收e[0m
e[34m[2025-08-20 15:42:43][15828][29600][DEBUG][databases.Meta.client:270][rollback]e[0m: [aff91cb10e074930980ec40f5671a26b] 数据库2150607644816回滚数据e[0m
这个是服务器的日志
try:
\# 主事务写入一些测试数据
app.models.SomeModel.create({"test": 1})
\# 调用日志写入
\_log_auth(...)
\# 人为抛出异常
raise Exception("触发回滚")
except:
pass
# 查看数据库:
# - 如果日志还在 → create 内部 commit 了,独立事务
# - 如果日志消失 → create 依赖主事务
我问ai是这个结果,但是文档并没有给出create的实现方式。