Pyramid:如何获取刚刚创建的数据库行的ID?
在视图中:
model = Model('some_title', 'some text')
session.add(model)
return HTTPFound(location='/ads/%s/%s' % (model.id, model.title))
因此,它必须将我重定向到 /ads/1/some_title
(如果 id=1),而不是将我重定向到 /ads/None/some_title
。
在此特定示例中创建数据库行后,如何获取该行的id
?
谢谢!
In views:
model = Model('some_title', 'some text')
session.add(model)
return HTTPFound(location='/ads/%s/%s' % (model.id, model.title))
So, it must redirects me to /ads/1/some_title
(if id=1), instead it redirects me to /ads/None/some_title
.
How to get an id
of this row after created db row in this particular example?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当您请求
model.id
时,新模型尚未到达数据库;金字塔会等到请求处理程序返回后再提交挂起的事务。为了更早地获取 id,您必须刷新会话。添加:at the point you ask for
model.id
, the new model has not yet reached the database; pyramid waits until the request handler returns before commiting the pending transaction. To get the id earlier, you must flush the session. Add: