我想知道当另一个进程更新同一对象的某些属性时,SQLAlchemy是否能够支持从数据库中即时加载对象的当前状态。在
我想说的是,我正在从SQLObject迁移到SQLAlchemy。使用SQLObject,目前,我有一个表,如:
class MyConfiguration(SQLObject):
class sqlmeta:
cacheValues = False
attr1 = StringCol(default='')
attr2 = IntCol(default=0)
如您所知,此cacheValues=False设置会立即将属性更新刷新到磁盘:
^{pr2}$instant attr1设置为“some value”,该值可用于另一个使用相同object my\u config的进程。在
我已经学习了SQLAlchemy的ORM和Core的基本教程,据我所知,最接近我实现这一点的方法是使用会话.合并()因为除非添加或合并,否则SQLAlchemy中“my_config”的状态将不会变为pending/dirty,并且autoflush=True,因此后续查询将从表中重新读取该行。在
我认为另一个选择是我可以在MyConfiguration中跳过setattr,立即刷新对实例的更改。但是,我不喜欢这样,因为这太难看了,我希望尽可能多地使用SQLAlchemy的特性,而不是我在做什么。在
所以我试图在SQLAlchemy中找到这个SQLObject特性的完全匹配。这可能吗?在
提前谢谢你的帮助。在
目前没有回答
相关问题 更多 >
编程相关推荐