django设置数据库事务,通过异常处理回滚事务

1.setting.py配置文件,开启事务ATOMIC_REQUESTS

DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',  # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
            'NAME': 'nahuomallv3_dev',
            'USER': 'root',
            'PASSWORD': 'root',
            'HOST': 'localhost',
            # Set to empty sstring for default.
            'PORT': '3306',
            'OPTIONS': {
                # 'charset': 'utf8mb4',
                'init_command': 'SET default_storage_engine=INNODB;'
            },
            # 事务
            'ATOMIC_REQUESTS': True,
        },

 2.异常处理类

class OfficialBizError(Exception):
    """
    系统业务逻辑错误
    """
    pass

def callback_biz_error(message=""):
    """
    返回业务逻辑错误处理,并回滚业务数据
    :return:
    """
    raise OfficialBizError(message)

 3.使用

if False:
    return callback_biz_error("出错了")

 

转载于:https://www.cnblogs.com/konglingxi/p/10073721.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值