【发布时间】:2019-01-25 15:33:18
【问题描述】:
我正在尝试使用 flask-wtf 和 wtforms-alchemy 创建注册表单 在这个表单上,我尝试创建选择字段,它的值是从我的模型中查询的。 但我总是得到这个错误:
ValueError: too many values to unpack (expected 2)
这是我的代码:
from flask_wtf import FlaskForm
from wtforms_sqlalchemy.fields import QuerySelectField
def choose_domicile():
return Domicile.query
class RegisterForm(FlaskForm):
name = StringField('Name', validators=[DataRequired()])
domicile = QuerySelectField(u'Domicile', query_factory=choose_domicile)
@app.route('/signup', methods=['GET', 'POST'])
def signup():
form = RegisterFormView()
try:
if form.validate_on_submit():
new_user = Data(name=form.name.data, domicile=form.domicile.data)
db.session.add(new_user)
db.session.commit()
return "Success"
except:
return "Failed"
return render_template('signup.html', form=form)
这是我的signup.html:
{% block content %}
<div class="container">
<form class="form-signin" method="POST" action="/signup">
<h2 class="form-signin-heading">Sign Up</h2>
{{ form.hidden_tag() }}
{{ wtf.form_field(form.name) }}
{{ form.domicile }}
<button class="btn btn-lg btn-primary btn-block" type="submit">Sign Up</button>
</form>
</div>
{% endblock %}
我的包版本是 flask-wtf==0.14.2 和 wtforms-alchemy==0.16.7
我已经尝试关注这个Why does Flask WTForms and WTForms-SQLAlchemy QuerySelectField produce too many values to unpack?,但我仍然对如何做到这一点感到困惑。
【问题讨论】:
标签: python flask sqlalchemy flask-sqlalchemy flask-wtforms