我有一个看起来像这样的表格:
class AddProductForm(Form):
title = TextField('Title')
type = QuerySelectField('Type',
query_factory=lambda: ProductType.query.order_by(ProductType.sequence).all())
def __init__(self, formdata=None, obj=None, prefix='', **kwargs):
try:
product_type_id = ProductType.query.filter_by(name=obj['product_type']).one().product_type_id
kwargs.setdefault('type', product_type_id)
except NoResultFound:
pass
Form.__init__(self, formdata, obj, prefix, **kwargs)
如您所见,我正在尝试将其设置为在加载表单时为 product_type 提供合理的默认值。但是,虽然这种代码用于设置标题作为示例,但它不适用于 QuerySelectField '类型'。有人知道我该如何解决这个问题吗?
假设这是不可能的,有人知道我如何动态地将表单元素添加到表单中吗?