class ArticleForm(Form):
type = SelectField('type', choices=[(h.id, h.name) for h in ArticleType.query.all()], coerce=int)
下面是我在视图中使用ArticleForm的方式
@admin.route('/article/add',methods=['get','post'])
def article_create():
article_form = ArticleForm()
我的问题是,每次访问/ article / add
时,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得到更新.. 这有什么问题...
答案 0 :(得分:0)
当我遇到这个问题时,我通过填写表格的__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