WTForms - многозначная строка для SelectMultipleField - PullRequest
1 голос
/ 21 июня 2011

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

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

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

1 Ответ

1 голос
/ 21 июня 2011

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