2016-10-20 35 views
-1

我正在使用烧瓶的项目。我有一个用于创建餐厅并将其保存在我的记录中的路线和功能烧瓶记录信息并未保存所有内容

问题是只有一部分表格正在保存,而其余信息未被添加和提交。

随着用户提交以下信息的形式: 餐馆表: 名 的restaurants_info表: food_type avg_price 城市 状态

,实际上是被保存的唯一的事情是名后看着实际的数据库。我想知道为什么只有第一添加并提交被保存在表,其余的没有被保存在德第二个表

这里是烧瓶航线代码:

@app.route('/addrestaurant', methods=['GET', 'POST']) 
def CreateRestaurant(): 
    if request.method == 'POST': 
     newRestaurant = Restaurants(name = request.form['name']) 
     session.add(newRestaurant) 
     session.commit() 
     newRestaurantInfo = Restaurants_Info(food_type = request.form['food_type'], 
              avg_price = request.form['avg_price'], 
              city = request.form['city'], 
              state = request.form['state']) 
     session.add(newRestaurantInfo) 
     session.commit 
     flash('%s was successfully created' % newRestaurant.name) 
     return redirect(url_for('DisplayRestaurant')) 
    else: 
     return render_template('addRestaurant.html') 

,这里是对应的html文件

<html> 
    <head> 

    </head> 
    <body> 
    <h1>Create a new restaurant</h1> 
    <h2>Please fill out the entire form</h2> 

    <form action="{{url_for('CreateRestaurant')}}" method="POST"> 
     <table> 
     <tr> 
      <td>Name</td> 
      <td><input type="text" name="name"></td> 
     </tr> 
     <tr> 
      <td>Food Type</td> 
      <td><input type="text" name="food_type"></td> 
     </tr> 
     <tr> 
      <td>Prices</td> 
      <td><input type="text" name="avg_price"></td> 
     </tr> 
     <tr> 
      <td>City</td> 
      <td><input type="text" name="city"></td> 
     </tr> 
     <tr> 
      <td>State</td> 
      <td><input type="text" name="state"></td> 
     </tr> 
     <tr> 
      <td><input type="submit" name="Submit"></td> 
     </tr> 
     </table> 
    </form> 

    </body> 
</html> 

我只是想保存在一个表中你不会真的c中的名称,并在第二个表,其余的地方将在

回答

1

后来被称为全部commit第二次。需要使用parens调用Python中的函数:session.commit()

请注意,虽然没有必要调用它两次;你应该这样做一次,在第二个add之后。