python - Flask-WTF在编辑一个记录的时候,下拉菜单如何同步?
PHP中文网
PHP中文网 2017-04-17 11:04:00
0
2
762

Flask-WTF在编辑一个记录的时候,遇到下拉菜单如何自动跳到数据默认的选项上?

现在遇到一个问题就是编辑一个记录的时候,从数据库里读出来的数据在前台不能同步。QuerySelectField总是显示第一条记录.也就是说。并没有根据数据库的值自动同步选项。

Model: class Article(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) class Node(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的定义: class ArticleForm(Form): title=TextField("title") content=TextAreaField("content") node=QuerySelectField("node",query_factory=lambda :Node.query.all(),get_pk=lambda x:x.id,get_label=lambda x:x.name) tags = TextField("Tags") submit = SubmitField(u"提交") ============== view: def editarticle(article_id): art=Article.query.filter(Article.id==article_id).first_or_404() form=ArticleForm(obj=art) if form.validate_on_submit(): form.populate_obj(art) art.node=form.node.data.id db.session.add(art) db.session.commit() return redirect(url_for(".listarticle")) return render_template("/admin/create_article.html",form=form)

请问我应该如何做,才能在编辑一个ariticle的时候,Node这个字段的下拉菜单自动显示artilce数据库里的相应的情况?

PHP中文网
PHP中文网

认证高级PHP讲师

全員に返信 (2)
刘奇

看起来应该是前端方面的问题。

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

いいねを押す+0
    伊谢尔伦
    phone_status = wtf.RadioField('phone_status', choices=[ ('0', u'不公开'), ('1', u'公开'), ('2', u'仅向会员公开')], default='0')

    在下拉菜单中,

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!