我想我可以使用Enum
设置RadioField
的选项我想在这些枚举值之间切换。但是,当我提交表单时,它永远不会使用枚举作为选择值进行验证。
from enum import Enum
class CompareMode(Enum) :
Uninitialized = "Uninitialized"
Single = "Single"
Average = "Average"
class SettingsPageForm( FlaskForm ):
# This works...
compareMode = RadioField( choices=[ ( "CompareMode.Single" , CompareMode.Single.value ) , ( "CompareMode.Average" , CompareMode.Average.value ) ] , default="CompareMode.Single" )
# This does not
compareMode = RadioField( choices=[ ( CompareMode.Single , CompareMode.Single.value ) , ( CompareMode.Average , CompareMode.Average.value ) ] , default=CompareMode.Single )
flask-wtf对我能提供的值有限制吗?我知道RadioFields
默认使用Required
验证器,所以我想在验证过程中我的枚举选择会破坏某些东西,这就是为什么我的表单永远不会满足validate_on_submit
。这有解决方法吗?从RadioField接收数据作为我可以分配给我的模型的枚举值会很好,但与此同时我将使用一个字符串转换回我的枚举。