改成你这样他会提示 raise sa_exc.InvalidRequestError(
sqlalchemy.exc.InvalidRequestError: A transaction is already begun. Use subtransactions=True to allow subtransactions.
然后我改成:
with db.session.begin(subtransactions=True):
db.session.add(role1)
db.session.add(role2)
db.session.add(role3)
db.session.commit()
结果还是 一样,不出错的还是会被写入到数据库,是不是mysql哪里需要设置,或者sqlalchemy哪里需要设置变量呢
sqlalchemy.exc.InvalidRequestError: A transaction is already begun. Use subtransactions=True to allow subtransactions.
这个问题也可能是在你with db.session.begin()之前还有过操作数据库的步骤,也就是之前的session还没有close掉,你应该可以把之前的session给close或或者commit一下再试试看