我有一个从数据库中读取的路由,然后将传递到该路由的值与数据库中的最新值进行比较
@application.route("/complete", methods=['POST'])
def complete():
currentRound = request.json.get('round')
block = db.session.query(Block).order_by(Block.id.desc()).first()
if block.roundId == currentRound:
return jsonify( { "round": "valid" } )
else:
return jsonify( { "round": "false" } )
但是当向块表中添加新行时,块值不会更改。例如,当我第一次运行应用程序时,如果添加到表中的最后一个块的roundId是“123”,则块.roundId在上述路线将是“123”。但如果应用程序仍在运行,并且数据库已更新,因此最新的行的id为“456”,则路由仍将显示块.roundId是“123”。在
在向数据库添加新行并返回正确值后,我再次检查并使用了相同的查询,因此我认为问题出在路由内部。非常感谢任何帮助。在
我找到了答案!虽然我在保存数据的另一个文件中调用了
db.session.commit()
,但是在读取路由内部的数据之前,我不得不再次调用它。谢谢PJ Santro!在相关问题 更多 >
编程相关推荐