这可能是一个愚蠢的问题,但我无法在任何地方找到答案。
让我说我拉一些值:
widgets = session.query(Widget).all()
for widget in widgets:
# ... do lots of things here
# ... some other thread could be updating these widgets!
if widget.is_ready:
do_something()
读取widget的属性是否实际检查数据库?有没有办法让它明确地这样做而不做另一个查询?
我担心读取的价值可能过时了。
谢谢!
答案 0 :(得分:-1)
不会更新这些值。要更新对象,您需要将每个对象推送到会话事务中并提交如下:
widgets = session.query(Widget).all()
for widget in widgets:
widget.name = widget.name + '_widget_name'
db.session.add(widget)
db.session.commit()