小编gri*_*s74的帖子

如何将 SQLite 的 UPSERT(或 ON CONFLICT)与flask_sqlalchemy 一起使用?

我想用外部 API 提供的数据更新我的 SQLite 数据库,并且我不想每次都自己检查是否有任何冲突,而是想利用UPSERT语句。SQLAlchemy 1.4 版文档(仍处于测试阶段,但没关系)表明这是可能的。但我不知道如何让它与flask_sqlalchemy 一起使用。

我还尝试包含在约束定义中(如此处sqlite_on_conflict='IGNORE'1.3 版本的 SQLAlchemy 文档中所述):

class SomeModel(db.Model):
    __table_args__ = (
        db.ForeignKeyConstraint(
            ('id', 'other_id'),
            ('other_table.id', 'other_table.other_id')
            sqlite_on_conflict='IGNORE'
        ),
    )
    # ...
Run Code Online (Sandbox Code Playgroud)

然后我用SQLALCHEMY_ECHOset to验证了 SQL 输出True,但它根本不起作用......

我尝试了 1.3 和 1.4 SQLAlchemy 版本。

python sqlite sqlalchemy flask-sqlalchemy

8
推荐指数
1
解决办法
3212
查看次数

标签 统计

flask-sqlalchemy ×1

python ×1

sqlalchemy ×1

sqlite ×1