2016-04-09 12 views
0
class ArticleForm(Form): 
    type = SelectField('type', choices=[(h.id, h.name) for h in ArticleType.query.all()], coerce=int) 

を更新していない私は フラスコwtforms selectfield選択肢は以下の

@admin.route('/article/add',methods=['get','post']) 
def article_create(): 
    article_form = ArticleForm() 
ビューで

をするArticleFormを使用してどのように私の問題はselectFieldはデシベル私は/記事を訪問するたびに読み込まない/

を追加していることです

ArticleTypeに新しいタイプを追加すると、サーバーを再起動するまでselectFieldを選択しても選択が更新されません。

が、私は

@admin.route('/article/add',methods=['get','post']) 
def article_create(): 
    article_form = ArticleForm() 
    article_form.type.choices = [(h.id, h.name) for h in ArticleType.query.all()] 

の下のように使用している場合articleTypeが更新されます。.. ので、これで問題は何でしょう...

答えて

1

私はこの問題に会ったとき、私は__init__に選択肢を取り込むと、それを解決します私のフォーム

class ArticleForm(Form): 
    type = SelectField() 

    def __init__(self, *args, **kwargs): 
     form = super(ArticleForm, self).__init__(*args, **kwargs) 
     form.type.choices = [(h.id, h.name) for h in ArticleType.query.all()] 
     return form 
+0

http://stackoverflow.com/questions/31619747/dynamic-select-field-using-wtforms-not-updating/この方法は、あまりにも動作します。 – tyan

関連する問題