前言:
此次版本增加【一對多】資料庫關系和動态路由設定。
一、資料庫設計
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
以上,希望能對你有所幫助~~歡迎交流,共同進步~~
作者:
擱淺出處:
http://www.cnblogs.com/xiaoxi-3-/如果對您有幫助,請關注我的同名簡書:
https://www.jianshu.com/u/da1677475c27本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。