python - flask_sqlalchemy 插入数据时发生错误后如何处理?
巴扎黑
巴扎黑 2017-04-17 17:54:49
0
2
347

使用flask_sqlalchemy在插入数据发生错误的时候应该如何处理?

相关模型如下:

class Supplier(db.Model):
    ID = db.Column(db.Integer, primary_key=True)
    Name = db.Column(db.String(250), unique=True, nullable=False)

视图中的操作如下:

@supplier.route('/purchase/supplier/add', methods=['GET', 'POST'])
def add_supplier():
    form = SupplierForm(request.form)
    if request.method == 'POST' and form.validate():
        supplier = Supplier(form.supplier_name.data)
        db.session.add(supplier)
        db.session.commit()
    return redirect(url_for('supplier.list_supplier'))

当我插入两个相同的supplier_name时,就会出现这样的错误:sqlalchemy.exc.IntegrityError,当我返回,尝试重新输入时,出现了这样的错误:sqlalchemy.exc.InvalidRequestError

我期望的结果是可以有一个办法知道这个数据不符合要求并提示用户修改输入,请问应该如何处理?

谢谢~

巴扎黑
巴扎黑

全部回覆(2)
黄舟

雷雷

黄舟

這個應該你自己做限制吧,作為開發本身設定了Name unique=True,那麼你就有義務在form裡驗證name的唯一性啊

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板