WTForms syntaxe při použití baňky a Flask-MongoAlchemy

hlasů
1

Jsem testování mimo Python rámcovou baňky a Flask-MongoAlchemy s MongoDB (samozřejmě). Jako Stavím více dokumentů v mé testovací aplikaci, chci dostávat formuláře nás ověřena WTForms .

Může někdo sdílet se mnou příklad o tom, jak vytvořit odkazy na objekt v 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?

Jakýkoli návrh by bylo skvělé! Nebo odkazy na on-line příkladu. Dík!

Položena 22/10/2011 v 03:04
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Je to zdokumentováno v WTForms dokumentaci SelectField zde citován pro pohodlí:

Zvolte pole vést volby majetek, který je posloupnost (hodnota, označení) párů.

Nejsem si jistý, o form.parent.choicessyntaxi, ale kód vypadá takto:

form.parent.choices = [(1, 'parent name 1'), (2, 'parent name 2'), (3, 'parent name 3'), (4, 'parent name 4')]
Odpovězeno 24/10/2011 v 14:05
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more