Python SQLAlchemy删除所有依赖项并添加所有依赖项

Python SQLAlchemy删除所有依赖项并添加所有依赖项,python,mysql,sqlalchemy,Python,Mysql,Sqlalchemy,我有一个名为Configuration的表配置有多个字段,这些字段表示为列表,每个表使用外键到配置 因此,其中一个表的示例是Users,外键为Configuration,另一列为username 我收到了一份表格,用于更新每个配置,因为理论上应该使用相关信息更新每个依赖表 例如,我现在可能有 Configuration with Users: [Bob, John] 表格提供了 Configuration with Users: [Jan] 现在,我只想要一行用于配置,一行用于用户和Jan

我有一个名为
Configuration
的表<代码>配置有多个字段,这些字段表示为列表,每个表使用
外键
配置

因此,其中一个表的示例是
Users
,外键为
Configuration
,另一列为
username

我收到了一份表格,用于更新每个
配置
,因为理论上应该使用相关信息更新每个依赖表

例如,我现在可能有

Configuration
with Users: [Bob, John]
表格提供了

Configuration
with Users: [Jan]
现在,我只想要一行用于
配置
,一行用于
用户
Jan

相反,
Bob
John
被删除。如何在一个事务中执行此操作,以便查询数据库的用户看到新配置或旧配置

我目前正在做类似的事情:

clear_dependents(id)
db.session.commit()
add_dependents(id, fields)
db.session.commit()
然而,由于我在清除依赖表后提交,因此理论上,查询应用程序可能会看到一个空配置。如果更新新表失败,如何避免这种情况并回滚到旧配置

我尝试了
db.session.flush()
,但是如果表单中的新配置包含旧的配置值(重复错误),则此操作无效。失败的例子是使用:

与用户:[Jan,Bob]因为尚未删除从属表上的Bob