我有一个名为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)
之类的内容。 最佳答案
我现在的解决方法是在我的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())
关于python - WTForms-SelectMultipleField的多值字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6426335/