Python Alchemy在插入数据时如何关闭返回id

Python Alchemy在插入数据时如何关闭返回id,python,sqlalchemy,flask-sqlalchemy,Python,Sqlalchemy,Flask Sqlalchemy,我试图通过Flask SQLAlchemy==2.3.2将数据插入PostgreSQL 8.3.23,错误表明此版本的Greenplum数据库不支持insert语句。 那么,如何在插入时关闭(flask-)sqlalchemy中的返回id呢 class BU(db.Model): __tablename__ = 'bu' id = db.Column(db.Integer, primary_key=True, autoincrement=True) bu_code = d

我试图通过Flask SQLAlchemy==2.3.2将数据插入PostgreSQL 8.3.23,错误表明此版本的Greenplum数据库不支持
insert语句。
那么,如何在插入时关闭(flask-)sqlalchemy中的返回id呢

class BU(db.Model):
    __tablename__ = 'bu'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    bu_code = db.Column(db.String(125), index=True, comment=u'some')
    bu = db.Column(db.String(125), nullable=False, comment=u'some')
    is_game = db.Column(db.Boolean, default=False, comment=u'some')
    status = db.Column(db.Integer, default=0, info={'table_enums': [{'value': 0, 'text': u"some"}, {'value': 1, 'text': u"some"}]})
    add_time = db.Column(db.DateTime, default=datetime.now, comment=u'some')
提前感谢

您需要将参数设置为
False

engine = create_engine(url, implicit_returning=False)
如果为True,则当在没有现有RETURNING()子句的情况下发出单行INSERT语句时,将使用返回兼容的构造(如果可用)来获取新生成的主键值。这适用于那些支持返回或兼容构造的后端,包括PostgreSQL、Firebird、Oracle、Microsoft SQL Server。将此设置为False以禁用返回的自动使用

Flask SSQLachemy不会直接公开引擎创建,可能会重写以注入额外的参数

此方法在创建引擎之前调用,用于将特定于驱动程序的攻击注入到选项中。options参数是关键字参数的字典,然后将用于调用sqlalchemy.create_engine()函数


有一个很好的方法可以让你找到一个更简单的方法。

谢谢你,但是你能告诉我如何在炼金术中使用它吗。我尝试过:``db=SQLAlchemy(session\u options={“implicit\u returning”:False})db.init\u app(app)``但对我不起作用。@pagala2008我在答案中添加了一些信息
engine = create_engine(url, implicit_returning=False)