出错位置大概再这里 (flask项目)
def order_record():
id=request.args.get("id")
code=request.args.get("code")
r=Record()
r.id=id
order.code=code
db.session.add(order)
db.session.commit()
return jsonify(status=1)
sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (IntegrityError) PRIMARY KEY must be unique
原因感觉是当数据提交的时候因为网络的问题或者用户的问题提交了多次相同的数据导致了unique的错误。
但是我好奇的是日志里会重复报告上面这个错误描述很多次几十次甚至几百次。
解决这个问题,貌似只要再写入的时候确认是否已经存在就可以了,但是我不太理解的是什么日志中会一直重复报这个InvalidRequestError错误。
另外。关于上面这断代码,除了写入前先select以下之外,有没有更优美一点的做法? try catch?
有没有谁能给一个关于插入数据在生产环境下的最佳实践?