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

Benşişesi wtforms selectfield seçimler

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

benim sorunum selectField dB G/makale her ziyaret okumak olmamasıdır/

eklemek görünümlerde ArticleForm nasıl kullanılacağı görülmektedir güncelleme değil

ArticleType'a yeni bir yazı eklersem, selectField seçeneği, sunucuyu yeniden başlatana kadar seçimi güncelleştirmeyecektir.

ama articleType güncellenmelerini

@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()] 

altına gibi kullanırsanız .. nedenle bu sorun ... ne

cevap

1

ben __init__ içinde doldurma seçenekleri ile çözmeye bu sorunu buluştu benim Form

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/ bu yöntem de çok çalışıyor. – tyan