WTForms - многозначная строка для SelectMultipleField

1

У меня есть WTForm, называемый TestForm со следующим свойством:

areas = SelectMultipleField(u'Test Areas', choices=TestArea.names())

Когда я создаю новый экземпляр TestForm и TestForm объект с свойством areas, объект не имеет списка значений для areas, а скорее строки со значением, например Area1;Area2;Area3. Как я могу перевести между списком ['Area1', 'Area2', 'Area3'] который ожидает SelectMultipleField, и строкой, которую мой объект ожидает найти в areas? У меня есть несколько таких полей, поэтому я бы предпочел не передавать что-то вроде TestForm(areas=myObj.areas.split(';'), field2=myObj.field2.split(';'),..., myObj).

Теги:
wtforms
multivalue

1 ответ

1
Лучший ответ

Моим обходным решением пока является следующая настройка в моей модели SQLAlchemy:

areas = Column(u'AREAS', VARCHAR(80))

@property
def areasList(self):
    return self.areas.split(';')

@areasList.setter
def areasList(self, areas):
    self.areas = ';'.join(areas)

Затем в моей форме WTForms:

areasList = SelectMultipleField(u'Test Areas', choices=TestArea.names())

Ещё вопросы

Сообщество Overcoder
Наверх
Меню