1

TestForm我有一个使用以下属性调用的 WTForm :

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).

4

1 回答 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())
于 2011-06-21T14:31:11.353 回答