【发布时间】:2011-09-12 19:04:32
【问题描述】:
我正在试用MongoEngine,这是一个供 Python 与 MongoDB 一起使用的 DRM 库。我可以从网站上定义一个像这个例子这样的模型:
class User(Document):
email = StringField(required=True)
first_name = StringField(max_length=50)
last_name = StringField(max_length=50)
它就像一个魅力,MongoEngine 真的很好。好吧,我想更进一步,想知道我是否可以在 JSON 或 YAML 文件中的某个位置定义我的模型,或者其他任何东西,然后使用它创建模型。所以这个声明在 JSON 中可能如下所示:
{
"model":"User",
"fields":{
"email":{
"type":"string",
"required":"true"
},
"first_name":{
"type":"string",
"max_length":"50"
},
"last_name":{
"type":"string",
"max_length":"50"
}
}
}
然后我会解析这个 JSON 并使用它创建一个模型。可能它可能只是我每次修改模型定义时都会执行的单个导入操作,或者它可能每次都解析整个 JSON。这是一个很好的场景吗?我只想让将使用该应用程序的人定义自己的模型,而无需深入研究代码。任何关于如何创建动态模型的想法都值得赞赏
【问题讨论】:
标签: python json mongodb model yaml