transaction.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:django-seven 作者: iwoca 项目源码 文件源码
def managed_transaction(func):
        """ This decorator wraps a function so that all sql executions in the function are atomic

            It's used instead of django.db.transaction.commit_on_success in cases where reporting exceptions is necessary
            as commit_on_success swallows exceptions
        """
        @wraps(func)
        @transaction.commit_manually
        def _inner(*args, **kwargs):
            try:
                ret = func(*args, **kwargs)
            except Exception:
                transaction.rollback()
                raise
            else:
                transaction.commit()
                return ret

        return _inner
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号