我使用SQLAlchemy的訪問PostgreSQL數據庫,我這樣定義對象:SQLAlchemy的更新PostgreSQL的數組歸併不行
class SessionLog(Base):
__tablename__ = 'session_log'
id = Column(Integer, primary_key=True)
recordFile = Column('record_file', String(128))
appSrcPorts = Column('app_src_ports', ARRAY(Integer))
info5 = Column('info5', String(100))
,我選擇和更新session_log表是這樣的:
session = Session()
sessionLog = session.query(SessionLog).filter_by(id=sessionLogId).first()
sessionLog.appSrcPorts.append(1)
session.merge(sessionLog)
session.commit()
但是我調用merge()和commit()後,'app_src_ports'列沒有更新,這很奇怪。 我找到一個醜陋的方式,使其工作,追加()前行,補充一點:
sessionLog.appSrcPorts = list(sessionLog.appSrcPorts)
任何人都可以告訴我爲什麼?
你的解決方案(sessionLog.appSrcPorts = list(sessionLog.appSrcPorts)使它成爲一個表單,作爲一種魅力:) –