2014-08-28 51 views
0

這可能是一個愚蠢的問題,但我無法在任何地方找到答案。sqlalchemy閱讀屬性處理(過時)

比方說,我拉一些值:

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() 

是否讀取部件的屬性實際上檢查數據庫?有沒有辦法明確這樣做,而不做另一個查詢?

我擔心值讀取可能是陳舊的。

謝謝!

回答

-1

這些值不會被更新。要更新對象,您需要將每個對象都推送到會話事務中並提交,如下所示:

widgets = session.query(Widget).all() 
for widget in widgets: 
    widget.name = widget.name + '_widget_name' 
    db.session.add(widget) 
db.session.commit() 
+0

不是我所問的。我問是否讀取值會導致數據庫調用 - 而不是自己更新它會需要通過會話進行更新。 – lollercoaster 2014-08-28 22:51:26