我有下一个枚举:
class EStatus(enum.IntEnum):
NEW = 0
MODIFIED = 1
和架构:
ARGS = {
'status': EnumField(EStatus, by_value=True, required=False)
}
在 Flask 之后,我声明了 GET 方法webargs
:
@use_args(ARGS, location='query')
def get(self, args: Dict[str, any]):
return []
它失败并出现错误:
{'messages': {'query': {'status': ['Invalid enum value 1']}}, 'schema': <GeneratedSchema(many=False)>, 'headers': None}
我在调试器中检查了它,发现EnumField
调用EStatus(value)
. 问题是我的值是str
类型,因为它来自查询参数。
如何在调用之前EnumField
将其转换为?int
EStatus(value)