python - SQLAlchemy - 处理约束失败

标签 python flask sqlalchemy flask-sqlalchemy

使用 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/

相关文章:

python - Numpy 和 Pandas 之间有性能差异吗?

php - 用php读取大json文件

python - 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

python - 在 Eve 中使用 get 事件 Hook 时 "TypeError: pre_get_callback() missing 1 required positional argument: ' 查找 '"

python - 使用flask、pythonanywhere显示字典中的数据

python - Django-Filter 返回请求对象

python - 在蓝图应用程序中访问 Flask 全局变量

python - 在 Pandas 中将 numpy.int64 转换为 python int

python - 带额外字段的 flask sqlalchemy多对多

python - 类型错误 : can only concatenate list (not "str") to list | Alembic Migration