如何关闭SQLAlchemy implicit_returning?

时间:2015-03-24 16:19:28

标签: python postgresql sqlalchemy flask-sqlalchemy

尝试进行插入查询:

q_stat_insert = Stat.__table__.insert().values(insert_values)
res = Session.connection().execute(q_stat_insert, params)

但我在该表上触发返回NULL,如何关闭RETURNING功能?

以前我只是在课堂宣言中使用__table_args__ = ({'implicit_returning': False})来避免这种情况。

P.S。我正在使用Postgresql 9.4和SQLAlchemy 0.9.8

1 个答案:

答案 0 :(得分:3)

INSERT语句具有inline参数,当设置为True时,将停止给定语句的隐式返回。在insert语句中设置此参数inline = True以关闭隐式返回。值得注意的是insert语句的默认参数方案如下所示,这就是您必须设置inline=True的原因:

sqlalchemy.sql.expression.insert(table, values=None, inline=False,
  bind=None, prefixes=None, returning=None, return_defaults=False, **dialect_kw)

记录here为0.9。