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()

Но это странная колоннаapp_src_ports' не обновлять после того, как я вызвал merge () и commit (). И я нахожу некрасивый способ заставить это работать, перед строкой append () добавьте это:

sessionLog.appSrcPorts = list(sessionLog.appSrcPorts)

Кто-нибудь может сказать мне, почему?

Ответы на вопрос(2)

Ваш ответ на вопрос