Django 支持使用数据库事务来保证数据库操作的原子性和一致性。如果 DDL 操作成功,Django 会提交事务;如果 DDL 操作失败,Django 会回滚到保留点,撤销所有操作。你可以使用函数的 savepoint=True 参数来解决这个问题,如下所示这样 Django 就会在数据库上开启一个保留点,然后在事务内执行 DDL 操作。如果你使用的是 Django 的数据库事务管理,你也可以在代码中捕获异常,然后使用 get_rollback() 函数来确定是否回滚事务。