2016-10-20 67 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之後。