python eve模式中的枚举类型

时间:2019-02-01 06:34:38

标签: python enums database-schema eve

我是python Eve框架的业余爱好者,但是我将其用于开发目的。但是,我不知道如何在架构中使用枚举类型。我的意思是python Eve中针对此数据类型的语法。

那么,如何在python eve模式中表达这一点?

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

感谢您的帮助。

2 个答案:

答案 0 :(得分: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,
   },
}

答案 1 :(得分:1)

您正在寻找allowed规则。

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