Vit*_*mar 4 python sqlalchemy pyramid
在视图中:
model = Model('some_title', 'some text')
session.add(model)
return HTTPFound(location='/ads/%s/%s' % (model.id, model.title))
Run Code Online (Sandbox Code Playgroud)
因此,它必须将我重定向到/ads/1/some_title(如果id = 1),而是将其重定向到/ads/None/some_title.
如何id在此特定示例中创建db行之后获取此行?
谢谢!
Sin*_*ion 11
在您要求的那一点上model.id,新模型还没有到达数据库; 金字塔等待,直到请求处理程序在提交挂起事务之前返回.要提前获取ID,您必须刷新会话.加:
model = Model('some_title', 'some text')
session.add(model)
session.flush()
return HTTPFound(location='/ads/%s/%s' % (model.id, model.title))
Run Code Online (Sandbox Code Playgroud)