我正在使用Flask-sqlalchemy,我只是将其配置为没有自动刷新而且没有像这样的自动提交
db = SQLAlchemy(session_options={"autoflush": False, "autocommit": False})
但它只适用于第一次会议
user = User()
user.name = "John"
db.session.add(User) #No data insert to DB yet
db.session.commit() #user name john inserted
但之后
fruit = Fruit()
fruit.name = "Banana"
db.session.add(fruit) # <-- this data auto insert into sqlite DB without commit/flush
任何想法为什么我从不调用session.commit()/ flush()果实实例已经完成了插入工作? Auto Tear Down提交已经设置为False
答案 0 :(得分:2)
您必须添加此选项expire_on_commit=False
session_options={"autoflush": False, "autocommit": False, "expire_on_commit": False}
点击此处:autocommit mode