我尝试了多种不同的方法以及在其他帖子中找到的各种建议。我无法使它正常工作,所以我希望有人能指出我正确的方向。
我的帖子部分无效。它不会更新我的库存,并且返回的页面不再包含该ID。但是,POST之前的页面工作正常。
使用sqlalchemy
和python
使用烧瓶应用程序。
我想遍历查询中只返回一列的结果,但是我知道炼金术会返回所有列。基本上,对于根据配方返回的每个原料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)
答案 0 :(得分:0)
此脚本是否返回执行错误?还是数据库中的数据没有更新?
因为恐怕您缺少缩进-for row in recipe:
块中的所有内容都必须再具有一层缩进,才能在for loop
中执行...