本文整理汇总了Python中ccvpn.models.DBSession.rollback方法的典型用法代码示例。如果您正苦于以下问题:Python DBSession.rollback方法的具体用法?Python DBSession.rollback怎么用?Python DBSession.rollback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ccvpn.models.DBSession
的用法示例。
在下文中一共展示了DBSession.rollback方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: post_item
# 需要导入模块: from ccvpn.models import DBSession [as 别名]
# 或者: from ccvpn.models.DBSession import rollback [as 别名]
def post_item(self):
if 'id' in self.request.POST and self.request.POST['id'] != '':
item = self.get_item(self.request.POST['id'])
item_id = self.request.POST['id']
item = DBSession.query(self.model).filter_by(id=item_id).first()
if not item:
item = self.model()
DBSession.add(item)
else:
item = self.model()
DBSession.add(item)
try:
self.assign_from_form(item)
except:
DBSession.rollback()
raise
DBSession.flush()
self.request.session.flash(('info', 'Saved!'))
route_name = 'admin_' + self.model.__name__.lower() + 's'
location = self.request.route_url(route_name, _query={'id': item.id})
return HTTPSeeOther(location=location)