使用Flask和FlaskMongoAlchemy时WTForms语法

2024-05-29 08:36:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用MongoDB测试Python框架Flask和Flask MongoAlchemy(当然)。当我在我的测试应用程序中构建多个文档时,我喜欢让我们验证的表单WTForms。在

有谁能和我分享一个如何在SelectField()中创建对象引用的例子吗?在

class Parent(db.Document):
    title = db.StringField()
    description = db.StringField()

class Object(db.Document):
    parent = db.DocumentField(Parent)
    title = db.StringField()

@app.route('/object/new', methods=['GET', 'POST'])
def new_object():
    form = ObjectForm(obj=Object)
    form.parent.choices = [(???) for p in Parent.query.all()]  #<-- #1 correct syntax I like to understand, '(t._id, t.title)' didn't work.
    if form.validate_on_submit():
        form.save()
        return redirect(url_for('...'))
    return ....

class ObjectForm(wtf.Form):
    parent = wtf.SelectField(u'Parent')  #<-- #2 do I need to add anything special?
任何建议都太好了!或者链接到一个在线例子。谢谢!在


Tags: formflasknewdbobjecttitledocumentclass

热门问题