在SQLAlchemy中设置属性值后,何时需要flag_modified?

时间:2019-04-21 01:28:55

标签: python sqlalchemy

我遇到了一些使用SQLAlchemy并需要维护的代码。它执行以下操作:

model1.model2.jsoncolumn['specific_entry_in_json'] = True
flag_modified(model1.model2, "jsoncolumn")

force object to be `dirty` in sqlalchemy中我了解到,当SQLAlchemy可能没有注意到属性已更改时,就使用flag_modified。强制SQLAlchemy考虑要修改的属性,以便将其刷新到数据库。

我想知道,何时必须使用flag_modified()的总体规则是什么?

如果我不得不猜测,在这种情况下是有必要的,因为JSON列在Python中表示为可变对象(dict),可以更改该对象而无需经历SQLAlchemy创建的通常会检测属性更改的设置器/获取器。 。那正确吗?知道何时需要使用flag_modified()的特定规则,例如“何时有JSON列”,将是非常棒的。

0 个答案:

没有答案