我想使用 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)