我有以下类结构:
String
如果我通过更改UITextFields
class A(Model):
id = Column(Integer, primary_key=True)
text = Column(String(255))
time_updated = Column(DateTime, onupdate=func.now())
type = Column(String(50))
__mapper_args__ = {
'polymorphic_identity': 'a',
'polymorphic_on': type
}
class B(A):
id = Column(Integer, ForeignKey('a.id'), primary_key=True)
more_text = Column(String(255))
__mapper_args__ = {
'polymorphic_identity': 'b',
'inherit_condition': (id == a.id),
}
的值来更新B
的实例,则不会触发more_text
并且onupdate
不会更改 - 这是有意义的,如表B所示不感动。但这不是我想要的。如何让SQLAlchemy触发onupdate以实现对实例的所有更改?
我尝试为time_updated
事件使用事件监听器,但这仅在我为类B定义它时才有效。因为会有更多类扩展A这不是一个干净的选项。还有更好的办法吗?