Flask-WTF在编辑一个记录的时候,下拉菜单如何同步?

Flask-WTF在编辑一个记录的时候,遇到下拉菜单如何自动跳到数据默认的选项上?现在遇到一个问题就是编辑一个记录的时候,从数据库里读出来的数据在前台不能同步。QuerySelectField总是显示第一条记录.也就是说。并没有根据数据库的值自动同步选项。Model:
classArticle(db.Model):
id=db.Column(db.Integer,primary_key=True)
node=db.Column(db.Integer,db.ForeignKey("node.id"),nullable=False,index=True,)
title=db.Column(db.Unicode(200))
content=db.Column(db.Text)
created=db.Column(db.DateTime,default=datetime.now)
_tags=db.Column(db.Unicode(200),index=True)
hits=db.Column(db.Integer,default=1)
classNode(db.Model):
id=db.Column(db.Integer,primary_key=True)
name=db.Column(db.String(200),nullable=False)
slug=db.Column(db.String(200),nullable=False,index=True,unique=True)
==============
Form的定义:
classArticleForm(Form):
title=TextField("title")
content=TextAreaField("content")
node=QuerySelectField("node",query_factory=lambda:Node.query.all(),get_pk=lambdax:x.id,get_label=lambdax:x.name)
tags=TextField("Tags")
submit=SubmitField(u"提交")
==============
view:
defeditarticle(article_id):
art=Article.query.filter(Article.id==article_id).first_or_404()
form=ArticleForm(obj=art)
ifform.validate_on_submit():
form.populate_obj(art)
art.node=form.node.data.id
db.session.add(art)
db.session.commit()
returnredirect(url_for(".listarticle"))
returnrender_template("/admin/create_article.html",form=form)请问我应该如何做,才能在编辑一个ariticle的时候,Node这个字段的下拉菜单自动显示artilce数据库里的相应的情况?
桃花长相依
浏览 293回答 2
2回答

慕虎7371278

看起来应该是前端方面的问题。解决方法可以是下拉的时候用ajax向服务器请求同步的数据,然后jquery改变html,或者貌似也可以用angular.js这种东西,反正纯粹的靠修改后台我是没看到有什么解决办法

翻阅古今

phone_status=wtf.RadioField('phone_status',choices=[('0',u'不公开'),('1',u'公开'),('2',u'仅向会员公开')],default='0')在下拉菜单中,的value应为字符型,不然不认的,你设置默认值,还有指定form.field_name.data时也需要指定成字符型试试。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript