如何关闭 SQLAlchemy implicit_returning?
How to turn off SQLAlchemy implicit_returning?
正在尝试进行插入查询:
q_stat_insert = Stat.__table__.insert().values(insert_values)
res = Session.connection().execute(q_stat_insert, params)
但是我在 table 上触发了 returns NULL,我怎样才能关闭 RETURNING 功能?
以前我一直通过在 class 声明中使用 __table_args__ = ({'implicit_returning': False})
来避免这种情况。
P.S。我正在使用 Postgresql 9.4 和 SQLAlchemy 0.9.8
INSERT
语句有一个 inline
参数,当设置为 True
时,停止给定语句的隐式 returning。在插入语句中设置此参数 inline = True
以关闭隐式 return。值得注意的是 insert
语句的默认参数方案如下所示,这就是为什么必须设置 inline=True
:
sqlalchemy.sql.expression.insert(table, values=None, inline=False,
bind=None, prefixes=None, returning=None, return_defaults=False, **dialect_kw)
这是 0.9 的记录 here。
正在尝试进行插入查询:
q_stat_insert = Stat.__table__.insert().values(insert_values)
res = Session.connection().execute(q_stat_insert, params)
但是我在 table 上触发了 returns NULL,我怎样才能关闭 RETURNING 功能?
以前我一直通过在 class 声明中使用 __table_args__ = ({'implicit_returning': False})
来避免这种情况。
P.S。我正在使用 Postgresql 9.4 和 SQLAlchemy 0.9.8
INSERT
语句有一个 inline
参数,当设置为 True
时,停止给定语句的隐式 returning。在插入语句中设置此参数 inline = True
以关闭隐式 return。值得注意的是 insert
语句的默认参数方案如下所示,这就是为什么必须设置 inline=True
:
sqlalchemy.sql.expression.insert(table, values=None, inline=False,
bind=None, prefixes=None, returning=None, return_defaults=False, **dialect_kw)
这是 0.9 的记录 here。