我有一个名为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)
这样的字段。
答案 0 :(得分: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())