我想更新表中具有一对多关系的列。
但我无法找到一种方法来使更新影响关系表。以下是代码示例,我尝试使用back_populates
进行更改,无论是否有onupdate
或cascade
,但它似乎对我想要的内容没有任何影响做
class Employe(Base):
__tablename__ = 'employes'
id = Column(Integer, primary_key=True)
service_name = Column(String, ForeignKey('services.name', onupdate="CASCADE"))
class Service(Base):
__tablename__ = 'services'
name = Column(String, primary_key=True)
employers = relationship('Employe', backref=backref('service', cascade="all"))
a = session.query(Service).filter_by(name='ECTC').update({'name' : 'SECTC'})
session.commit()
这确实改变了services.name,但是保持列service_name不变。
因此,当我想查询session.query(Employe).filter_by(service_name='SECTC')
时,我得不到任何结果
有没有办法让更新影响两个表?
否则,我可以在每次需要更新服务时选择,删除和重新创建雇员,但这对我来说似乎并不是最佳选择。
感谢您的帮助!