我想使用WTForms预填充选择字段。 我想使用数据库中的数据预先填充选择字段(值和标签)。预填充(查询)SelectField - WTForms?
数据库:
+----+----------+-------------------------------------+--------+
| id | category | description | status |
+----+----------+-------------------------------------+--------+
| 1 | Cinema | About movies | 1 |
| 2 | Play | About music. | 0 |
| 3 | News | Breaking news | 1 |
+----+----------+-------------------------------------+--------+
我想相当于QuerySelectField这样:
class MyForm(Form):
category = SelectField(u'Category', choices=[('1', 'Cinema'), ('3','News')])
我到目前为止已经做到了这一点:
def getCategories():
return Category.query.filter_by(status=1).all()
class MyForm(Form):
category = QuerySelectField(u'Category',
[validators.Required()],
query_factory = getCategories
)
标签会以类似这个:
<select class="form-control" id="category" name="category">
<option value="1"><models.Category object at 0x105064910></option>
<option value="3"><models.Category object at 0x105064d50></option>
</select>