Flask入門的第一個專案進階版
前言:
此次版本增加【一對多】資料庫關係和動態路由設定。
一、資料庫設計
environments表與variable1表的關係為:一對多。variable1.env_id設定為外來鍵,與environments表建立關係。
二、建立資料庫模型
如下圖所示,Variable模型中的env_id列被定義為外來鍵,就是這個外來鍵建立起了關係。傳給db.ForeignKey()的引數'environments.id'表明,這列的值是environments表中行的id值。
三、多表查詢
1、查詢environments表中的id為1,對應的所有Variable資料
Variable.query.filter_by(env_id=1).join(Environments, Variable.env_id == Environments.id)
2、查詢environments表中的id為1,對應的一條Variable.id 為2的Variable資料
Variable.query.filter_by(env_id=1,id=2).join(Environments,Variable.env_id == Environments.id).first_or_404()
四、匹配動態url
在Flask中,可以將URL中的可變部分使用一對小括號<>
@app.route('/delete/<int:id>')
@app.route('/change/<int:env_id>/<int:id>',methods=['GET','POST'])
endpoint的對映包含變數:
redirect(url_for('show_variable_list',_external=True,env_id=env_id))
五、開原始碼
https://github.com/wangxiaoxi3/Flask_test_1
以上,希望能對你有所幫助~~歡迎交流,共同進步~~