mei*_*han 9 python json jsonschema mongoengine
我正在寻找一种方法来获取我的 json 模式并在运行时动态创建一个 mongoengine 类。
例如:下面写的 mongoengine 类
class user(Document):
_id = StringField(required=False) # mongodb id
name = StringField(required=True) # user name
email= StringField(required=False,regex="^[a-zA-Z0-9]*@mydomain.com$") # user email
Run Code Online (Sandbox Code Playgroud)
将与从该模式生成的运行时动态生成的类相同
{
"type":"object",
"properties":{
"_id" : {"type":"string"},
"name" : {"type":"string"},
"email" : {"pattern":"^[a-zA-Z0-9]*@mydomain.com$"}
}
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
您可以动态创建 python 类,如下所示:
user_properties = {
'_id': StringField(required=False), # mongodb id
'name': StringField(required=True), # user name
'email': StringField(required=False,regex="^[a-zA-Z0-9]*@mydomain.com$"), # user email
}
User = type("User", (Document, ), user_properties)
Run Code Online (Sandbox Code Playgroud)
剩下的只是 dict 的转换器,输入时提供了“您的架构”,它将转换为 dict user_properties 。
另外,这是我对类似问题“如何从现有集合中生成 mongoengine 文档的模型”的回答,这也可以提供帮助。
| 归档时间: |
|
| 查看次数: |
725 次 |
| 最近记录: |