枚举类型在python eve架构中

问题描述 投票:0回答:2

我是python Eve框架中的业余爱好者,但我将它用于开发目的。但是,我不知道如何在架构中使用枚举类型。我指的是python Eve中这种数据类型的语法。

那么,我如何在python eve架构中表达这一点?

"tts" : {"enum": ["show","hide"]},

任何帮助表示赞赏。

python enums database-schema eve
2个回答
1
投票

你正在寻找allowed规则。

"tts" : {"type": "string", "allowed": ["show", "hide"]}

1
投票

我认为您可以在Eve中使用自定义数据类型功能。您只需将_validate_type_<typename>方法添加到子类即可添加新数据类型。请考虑Eve源代码中的以下片段。

def _validate_type_objectid(self, value):
""" Enables validation for `objectid` schema attribute.

:param value: field value.
"""
if isinstance(value, ObjectId):
    return True

此方法支持在架构中支持MongoDB ObjectId类型,允许这样的内容:

'schema': {
   'owner': {
      'type': 'objectid',
      'required': True,
   },
}
© www.soinside.com 2019 - 2024. All rights reserved.