使用 SQLAlchemy,如果我的数据库中有一个唯一的列,例如,用户名:
username = db.Column(db.String(50), unique=True)
当我在我尝试添加的用户名已经存在的地方添加打破此约束的行时,将抛出 IntegrityError:
IntegrityError: (IntegrityError) (1062, u"Duplicate entry 'test' for key 'username'")
是否可以将约束的破坏映射到自定义异常?例如.UsernameExistsError
我希望能够捕获个别约束中断,并将响应发回给用户。例如:“此用户名已被使用”
这可能吗?或者下一个最好的事情是什么?
任何指导将不胜感激:)
最佳答案
下一个最好的办法可能是用 try ... except
包围调用,解析错误消息,并用构造的错误消息通知用户。
按照这些思路,您可以try ... except
错误并使用 Flask 的 custom error pages 返回自定义错误代码.
关于python - SQLAlchemy - 处理约束失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926151/