在save()期间,Peewee检查“UNIQUE containt失败”

2024-04-20 00:47:28 发布

您现在位置:Python中文网/ 问答频道 /正文

为了避免数据库中的重复条目,recommended使用数据库本身的索引特性并让它自动处理问题。在

我已经用peewee迁移设置了正确的索引

migrator.add_index('mymodel', ('column1', 'column2', 'column3'), True),

所以现在,如果我试图用已经存在的column1column2和{}值保存一个mymodel条目,我会正确地得到一个异常。在

例外情况如下:

^{pr2}$

我的问题是:IntegrityError是否也曾因为其他可能的错误而抛出?如果是,如何区分重复插入和其他错误?在

我只想捕获和处理重复插入而不是其他错误。这可能吗?在


Tags: add数据库trueindex错误条目特性mymodel
1条回答
网友
1楼 · 发布于 2024-04-20 00:47:28

DB引发IntegrityError,以指示约束冲突(违反DB的完整性)。从您试图执行的查询的上下文中,您可以尝试推断违反了什么约束(例如,添加用户名已经存在的用户,等等)。但是您必须深入研究错误消息本身来区分多个约束。在

如果你正在做一个UPSERT,你可以显式地指定约束,但这是一种利基用法。在

相关问题 更多 >