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