У меня есть 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)
.
Моим обходным решением пока является следующая настройка в моей модели 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())