2016-12-02 4 views
0

選択フィールドを持つフォームでオブジェクトを更新しようとしています。 ルート内で選択フィールドの選択が決定されます。新しい選択が保存されたデータを上書きするようになります。wtforms動的選択フィールド保存されたオブジェクトデータからデフォルト値を読み込みます

私は選択フィールドに値を設定してから、そのユーザーが選択したデフォルトの最初の選択肢を作成します。

これまでのコードは次のとおりです。

def approve_seller(seller_id): 
    obj_to_edit = model.query.get(seller_id) 
    form = AForm(request.form,obj=obj_to_edit) 
    choices = [("", "---")] 
    for s in State.query.all(): 
     choices.append((str(s.id), s.name)) 
    form.state.choices = choices 

このコードの結果は状態のリストになります。以前に選択したオプションとして以前に保存されたユーザー値を持つ状態のリストではありません。フォームをレンダリングする際に、デフォルトselectedオプションを設定したい場合は

答えて

1

は、あなたがdata属性を設定する必要があります。

form.state.data = state_id

1

あなたは答えをこのthreadを参照してもよいです。あなたのケースでは

、どちらの方法が動作する二つの方法

form.state.default = <state_id> # eg.'CA' 
form.process() 

それとも

form.state.data = <state_id> # eg. 'FL' 

があります。

関連する問題