0

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

0 回答 0