Python SQLAlchemy:插入时不触发

Python SQLAlchemy:插入时不触发,python,postgresql,sqlalchemy,Python,Postgresql,Sqlalchemy,我有一个触发器问题,它不能通过SQLAlchemy中的.merge()调用触发 我有以下触发因素: CREATE TRIGGER trigger_update_comment_count BEFORE INSERT ON mediacomment FOR EACH ROW EXECUTE PROCEDURE update_comment_count(); 触发器执行以下过程: CREATE OR REPLACE FUNCTION update_comment_count() RETURNS t

我有一个触发器问题,它不能通过SQLAlchemy中的
.merge()
调用触发
我有以下触发因素:

CREATE TRIGGER trigger_update_comment_count
BEFORE INSERT ON mediacomment
FOR EACH ROW
EXECUTE PROCEDURE update_comment_count();
触发器执行以下过程:

CREATE OR REPLACE FUNCTION update_comment_count() RETURNS trigger AS $BODY$
    BEGIN
        UPDATE channel_users
        SET comment_count = comment_count + 1,
        last_comment = NEW.created_time
        WHERE
        channel_id = (SELECT ch.channel_id FROM media m
                      INNER JOIN channel ch ON ch.user_id = m.user_id
                      WHERE m.media_id = NEW.media_id)
        AND user_id = NEW.user_id;

        RETURN NEW;
    END;
$BODY$ LANGUAGE plpgsql;
如果我执行以下基于SQL的插入操作,触发器将非常有效:

INSERT INTO medialike VALUES (999292999,'2016-01-01 00:00:00.000000',367668179,true,'770160534981089486_12336189'); 
但是当我使用SQLAlchemy的
.merge()方法时,插入一行,但不触发触发器:

com = MediaComment(
      is_follower=is_follower,
      comment_text=comment['txt'],
      comment_id_native=str(comment['id']),
      created_time=comment['time'],
      user_id=str(comment['id']),
      media_id=self.media_id
      )
self.session.merge(com)
self.session.commit()
你知道是什么导致了这个问题吗

我正在运行PostgreSQL-9.4和Python3,通过启用日志记录并检查
pg_log
中的日志文件,我找到了它。原因是应该触发触发器的带有
INSERT的事务正在回滚。

我通过启用日志记录并检查
pg\u log
中的日志文件来解决这个问题。原因是本应触发触发器的带有
INSERT
的事务正在回滚。

您确定它实际发出的是
INSERT
而不是
UPDATE
?您确定它实际发出的是
INSERT
而不是
UPDATE