我有一个应用程序,在该应用程序中,我对一个SQL数据库进行查询,结果得到一个表示给定行的SQL Alchemy对象。然后,基于用户输入和一系列if/Then语句,我可以对SQLA对象执行更新。你知道吗
即
if 'fooinput1' in payload:
sqla_instance.foo1 = validate_foo1(fooinput1)
if 'fooinput2' in payload:
sqla_instance.foo2 = validate_foo2(fooinput2)
...
我现在需要向这个系统添加modified_at
和modified_by
数据。是否可以检查SQLA实例上的sqla_instance.was_modified
或sqla_instance.update_pending
之类的内容来确定是否执行了修改?你知道吗
(我认识到我可以维护自己的was_modified
布尔值,但由于存在许多if/then子句,因此如果可能的话,我希望避免使用很多样板。)
FWIW:这是一个python2.7pyramids应用程序,在web请求的上下文中从MySQL数据库读取数据。你知道吗
SQL Alchemy ORM提供的会话对象具有两个属性,可以帮助您执行以下操作:
1)Session.is_modified()
2)Session.dirty
根据要跟踪的修改字段的数量,您可以使用ORM Events实现所需的功能:
session对象提供事件,这可能会对您有所帮助。 只要复习一次, >;会话对象暂时变为挂起状态
相关问题 更多 >
编程相关推荐