如何在python中遍历sql aclchemy结果

时间:2018-09-25 04:09:14

标签: python flask-sqlalchemy

我尝试了多种不同的方法以及在其他帖子中找到的各种建议。我无法使它正常工作,所以我希望有人能指出我正确的方向。

我的帖子部分无效。它不会更新我的库存,并且返回的页面不再包含该ID。但是,POST之前的页面工作正常。

使用sqlalchemypython使用烧瓶应用程序。

我想遍历查询中只返回一列的结果,但是我知道炼金术会返回所有列。基本上,对于根据配方返回的每个原料ID,我都需要更新该原料ID的总库存。

recipe_id= request.args.get('id')
recipe = Recipe_ingredients.query.filter_by(recipe_id=recipe_id).all()

if request.method == 'POST':
    for row in recipe:
        ingredient_id = row.ingredient_id
        inventory = Inventory.query.filter_by(ingredient_id=ingredient_id).first()
        inventory.grams = inventory.grams - recipe.grams
        inventory.ounces = inventory.ounces - recipe.ounces
        db.session.commit()

inventory = Inventory.query.all()
return render_template('recipe.html', recipe=recipe, inventory=inventory)

1 个答案:

答案 0 :(得分:0)

此脚本是否返回执行错误?还是数据库中的数据没有更新? 因为恐怕您缺少缩进​​-for row in recipe:块中的所有内容都必须再具有一层缩进,才能在for loop中执行...