鍍金池/ 問答/Python  C  數(shù)據庫  網絡安全  HTML/ 用Flask框架作兩個關聯(lián)式的下拉式選單,抓取資料庫資料

用Flask框架作兩個關聯(lián)式的下拉式選單,抓取資料庫資料

先前做好一個下拉式選單連結數(shù)據庫,但是如果要作成雙關聯(lián)下拉式,選取好之后按鈕,再從數(shù)據庫抓取數(shù)據,卻一直沒辦法,數(shù)據庫如下:

ID Model_Name value_without time
0050 Multiple Regression 0.5781 13.03
0050 Logistic Regression 0.587 10.93
0051 Multiple Regression 0.5158 10.98
0051 Logistic Regression 0.572 10.16
0052 Multiple Regression 0.5734 14.67
0052 Logistic Regression 0.5396 12.42

當前寫好的Python:

class ETL(db.Model):
    tablename = 'etl1'
    ID = db.Column(db.Float)
    Model_Name = db.Column(db.String(255))
    value_without = db.Column(db.Float)
    time = db.Column(db.Float)

@app.route('/',  methods=['GET', 'POST'])
def index():
    etl1s = ETL.query.all()
    if 'eid' in request.form:
        eid = request.form.get('eid' ,type=float)
        step1 = ETL.query.get(eid)
        return render_template("index.html", etl1s=etl1s, step1=step1)
    return render_template("index.html", etl1s=etl1s)

HTML:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ETL_SQL</title>
</head>
<body>

<form method="POST">
    <select name="eid" id="eid">
        <option value="0050">0050</option>
        <option value="0051">0051</option>
        <option value="0052">0052</option>
    </select>
    <br>
    <input type="submit" value="Search" onClick="windows.location.reload()">
    <br>
</form>

{% if step1 %}
    <div>ID:{{step1.ID}}</div>
    <div>Model Name:{{step1.Model_Name}}</div>
    <div>Value Without:{{step1.value_without}}</div>
    <div>Time:{{step1.time}}</div>
{% endif %}
</body>
</html>

現(xiàn)在問題想要作成兩個關聯(lián)式下拉式選單,也就是在網頁中讓使用者下拉式選擇欄位ID,再選擇Model_Name,然后按按鈕做確認,從數(shù)據庫抓取所選擇的ID、Model_Name、value_without及time欄位資料,那么在Python及HTML及要多加那些語法,懇請前輩們解法,謝謝。

回答
編輯回答
尛憇藌

仿照已有的再依葫蘆畫瓢一個model_name字段,
在查詢的時候這樣寫:
ETL.query.filter(db.and_(ETL.ID==eid, ETL.Model_Name==model_name))

2017年3月2日 17:49