【发布时间】:2019-06-25 17:06:45
【问题描述】:
我是 python Eve 框架的业余爱好者,但我将它用于开发目的。但是,我不知道如何在架构中使用枚举类型。我的意思是这种数据类型在 python Eve 中的语法。
那么,我该如何在 python eve 模式中表达呢?
"tts" : {"enum": ["show","hide"]},
感谢任何帮助。
【问题讨论】:
标签: python enums database-schema eve
我是 python Eve 框架的业余爱好者,但我将它用于开发目的。但是,我不知道如何在架构中使用枚举类型。我的意思是这种数据类型在 python Eve 中的语法。
那么,我该如何在 python eve 模式中表达呢?
"tts" : {"enum": ["show","hide"]},
感谢任何帮助。
【问题讨论】:
标签: python enums database-schema eve
我认为您可以在 Eve 中使用自定义数据类型功能。您可以通过简单地将_validate_type_<typename> 方法添加到您的子类来添加新的数据类型。考虑以下来自 Eve 源代码的 sn-p。
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,
},
}
【讨论】:
您正在寻找allowed 规则。
"tts" : {"type": "string", "allowed": ["show", "hide"]}
【讨论】: