wtforms wartość pola ukrytego

Używam WTForms i mam problem z tym, że ukryte pola nie zwracają wartości, podczas gdy dokumenty mówią, że powinny. Oto prosty przykład:

forms.py:

from wtforms import (Form, TextField, HiddenField)

class TestForm(Form):
    fld1 = HiddenField("Field 1")
    fld2 = TextField("Field 2")

experiment.html:

{% from "_formshelper.html" import render_field %}
<html>
    <body>
        <table>
        <form method=post action="/exp">
            {% for field in form %}
                {{ render_field(field) }}
            {% endfor %}
            <input type=submit value="Post">
        </form>
        </table>        
    </body>
</html>

(render_field po prostu umieszcza etykietę, pole i błędy w tagach td)

experiment.py:

from flask import Flask, request, render_template

from templates.forms import *
from introspection import *

app = Flask(\__name__)                  
app.config.from_object(\__name__)
db_session = loadSession()

@app.route('/exp', methods=['POST', 'GET'])
def terms():
    mydata = db_session.query(Peter).one()
    form = TestForm(request.form, mydata)
    if request.method == 'POST' and form.validate():
        return str(form.data)
    return render_template('experiment.html', form = form)

if __name__ == '__main__':
    app.run(debug = True)  

mydata zwraca jedyny wiersz z tabeli, która ma 2 pola, fld1 i fld2. fld1 jest polem autoincrementu całkowitoliczbowego. Formularz jest wypełniany tymi danymi, więc jeśli uruchomię eksperyment.py, po przesłaniu formularza otrzymuję:

{'fld2': u'blah blah blah ',' fld1 ': u'1'}

Ale jeśli zmienię fld1 na HiddenField, po naciśnięciu Prześlij otrzymuję: {'fld2': u'blah blah blah ',' fld1 ': u' '}

Co ja robię źle?

questionAnswers(1)

yourAnswerToTheQuestion