2016-12-27 57 views
0

我使用flask-sqlalchemy創建了具有多行和多列的數據庫表。我的要求是我需要定期從網頁更新行中少數列的數據。是否有可能使用flask sqlalchemy編輯和更新網頁表格中的行?有人可以分享一個例子,以便我可以更好地理解。燒瓶SQLAlchemy - 編輯並更新網頁中的行

回答

0

所以,你必須定義這樣一個模型:

class Row(db.Model) 
    __tablename__ = 'YourTableName' 
    id = db.Column(db.Integer, primary_key=True) 
    name = db.Column(db.String(255)) 

你需要建立一個適當的HTML表單,以滿足您的特定用例的需求(這可能是沒有的形式完成,但這是最簡單的例子):

<form method="POST" action="{{ url_for('update_row') }}"> 
    <input type="hidden" name="id" value="1"> 
    <input type="text" name="name" placeholder="Enter new name"> 
</form> 

然後,你必須的圖的功能,其經由POST請求接收這種輸入形式,以更新一個特定的行:

@app.route('/update_row/', methods=['GET', 'POST']) 
def update_row(): 
    if request.method == 'POST': 
     # query.get() method gets a Row by the primary_key 
     record = Row.query.get(request.form.get('id', type=int)) 
     # change the values you want to update 
     record.name = request.form.get('name') 
     # commit changes 
     db.session.commit() 
    # redirect back to your main view 
    return redirect(url_for('main')) 

您顯然想要添加驗證,如確保名稱不爲空,或者其他數據檢查適合您的用例。

+0

我在表中有多行,所以而不是取值=「1」,你能讓我知道如何從html請求表單中獲取值。 – Premchand