Я пытаюсь предварительно заполнить поле «Выбрать», используя WTForms. Я хочу предварительно заполнить поле выбора (значение и метку), используя данные из базы данных.Pre-populate (Query) 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>