【发布时间】:2015-06-15 08:42:19
【问题描述】:
我想做一些异常处理程序。我在 python 中使用了 Flask-restless 和 SQLAlchemy 的组合。
我的问题:
当我使用数据库中已存在的对象向 api 发送请求时,SQLAlchemy 显示异常:
IntegrityError: (IntegrityError) column <column_name> is not unique u'INSERT INTO ...
所以我尝试将属性validation_exceptions 添加到create_api 方法中:
manager.create_api( ... , validation_exceptions=[IntegrityError])
但响应 json 包含:
{
"validation_errors": "Could not determine specific validation errors"
}
并且服务器 api 显示异常:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\flask_restless\views.py", line 797, in _extract_error_messages
left, right = str(exception).rsplit(':', 1)
ValueError: need more than 1 value to unpack
Flask-restless 中的异常验证不适用于此类异常 (IntegrityError)
我该怎么办?是否可以为异常创建一些处理程序并在 json 中返回我自己的错误消息?
【问题讨论】:
-
你有没有想过这个问题?我们遇到了同样的问题。
-
不,我因为许多其他问题离开了烧瓶。现在我正在使用 Django Rest Framework
标签: python validation exception-handling flask-sqlalchemy flask-restless