2013-07-31 120 views
2

我想要使用從路由傳入的默認值執行查詢選擇字段。我無法弄清楚如何從視圖傳遞一個變量到Form類將變量傳遞給Flask WTForm

class transactionsForm(Form): 

loan_id = QuerySelectField('trans_id', validators=[Required()], get_label='name', 
          query_factory=lambda: trans.query.filter_by(trans_id=[MY VARIABLE]).all()) 

回答

5

這是從QuerySelectField文檔:

場上查詢屬性可以從圖中可以設置爲每個實例的查詢分配給場。如果該屬性未設置,則傳遞給該字段構造函數的query_factory callable將被調用以獲取查詢。

這意味着你與查詢定義表單:

class transactionsForm(Form): 
    loan_id = QuerySelectField('trans_id', validators=[Required()], get_label='name') 

,然後在視圖功能,您指定的查詢,一旦你有一個實例:

def viewFunction(my_variable): 
    form = transactionsForm() 
    my_query = trans.query.filter_by(trans_id=my_variable) 
    form.loan_id.query = my_query 
    if form.validate_on_submit(): 
     # ... 
+0

偉大工程, 真的感謝。 – lukassliacky