Поле WTForms для хранения значений * list * - PullRequest
0 голосов
/ 10 октября 2019

Я настраиваю форму Flask, используя WTForms с некоторыми StringField, TextAreaField. Одно из значений поля генерируется Javascript в виде списка (из динамических полей формы).

Наконец я хотел сохранить данные формы в MongoDB. Когда я читаю значение формы с помощью StringField, значение (список) изменяется на строку, а когда я вставляю его в Mongo, оно вставляется в виде строки, а не списка.

Я пытался использовать FieldList, ноJavaScript не может добавить значение в форму, если поле имеет FieldList.

Это моя WTForm

class OrgCreateForm(FlaskForm):
    org_name = StringField('org_name', validators=[DataRequired()])
    org_contact = StringField('org_contact')
    create = SubmitField('Create')

Вот как я читаю данные из вывода JS:

<div class="form-group row">
  {{ form.org_contact(class="form-control purple-border",row="5", id="output", label="comment") }}
</div>

Это мой вывод MongoDB

{'_id': ObjectId('5d9d7c1bb157cdbae3ed941b'), 'org_name': 'Microsoft', 'org_contact': '[{"emailAdd":"admin@Microsoft.com","emailDesc":"Admin Email"}]'}

Попытка использования FieldList, как показано ниже, и значение поля кажется нулевым.

class OrgCreateForm(FlaskForm):
    org_name = StringField('org_name', validators=[DataRequired()])
    org_contact = FieldList(TextAreaField('org_contact'))
    create = SubmitField('Create')
...