禁用autoflush并自动提交后,Flask sqlAlchemy无效

时间:2016-11-23 05:04:52

标签: flask sqlalchemy flask-sqlalchemy

我正在使用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

1 个答案:

答案 0 :(得分:2)

您必须添加此选项expire_on_commit=False

session_options={"autoflush": False, "autocommit": False, "expire_on_commit": False}

点击此处:autocommit mode