我想使用WTForms创建一个包含两种类型字段的动态表单。 我有一个类CustomersQuestionFields,我想从中显示问题并将答案保存在另一个名为CustomerQuestions的类中。 这是他们的结构:
**class CustomerQuestionFields:**
id
description
label
**class CustomerQuestions:**
id
customer_question_fields_id
customer_id
value
description
我们的想法是使用文本填写CustomerQuestionFields,并将其作为CustomerQuestions上的值和描述标签。 值为RadioField,描述为TextAreaField。
我尝试过创建字典,然后成功获取字段,显示字段并保存数据,但问题是我想将一个值与一个描述相关联。
我得到的当前(排序)词典是:
[{description_1 : WTFormsTextAreaField}, {description_10: WTFormsTextAreaField}, {description_2: WTFormsTextAreaField},..., {value_1: WTFormsRadioField}, {value_10: WTFormsRadioField}, {value_2: WTFormsradioField}, ...}]
当我尝试在模板中显示时,会显示第一个描述字段,然后显示值字段。
有办法做到这一点吗?
更新 我忘了粘贴字典的代码:
def create_question_form_class(questions):
form_fields = []
for q in questions:
field_id = 'value_{}' + str(q.id)
form_fields[field_id] = RadioField(q.description, choices = [('0', 'No'), ('1', 'Yes')], default="Select")
field_id = 'description_'+ str(q.id)
form_fields[field_id] = TextAreaField()
return type('CustomerQuestions', (Form,), form_fields)