Hy大家,我正在实现一个Flask/MongoDB项目,因为我是这个世界的新手,我已经按照本页的教程:http: //docs.mongodb.org/ecosystem/tutorial/write-a-tumblelog -application与-烧瓶-mongoengine /
之后,我开始编写自己的应用程序代码,这是代码的一部分:
楷模:
class Generic(db.Document):
descrizione = db.StringField(max_length=255, required=True)
meta = {
'allow_inheritance': True,
'indexes': [
{'fields': ['descrizione'], 'unique': True}
]
}
class Category(Generic):
def __call__(self, *args):
pass
class User(db.Document):
email = db.EmailField(max_length=255, required=True)
nickname = db.StringField(max_length=255, required=True)
password = db.StringField(max_length=16, required=True)
categoria = db.ReferenceField('Category', required=True)
meta = {
'indexes': [
{'fields': ['nickname', 'email'], 'unique': True}
]
}
Run Code Online (Sandbox Code Playgroud)
如上所示,我有一个继承"Generic"类的"Category"类."User"类最后有一个ReferenceField属于Category.这样,当我创建用户时,mongo db上的category字段存储为ObjectID,与"generic"集合相关,该集合具有我创建的所有类别.
下一步是创建表单以将新文档插入到用户集合中.在我的Views python文件中我有这个cose:
def iscrizione():
form = model_form(User, only=['email', 'nickname', 'password', 'categoria'])(request.form)
if request.method == 'GET': …Run Code Online (Sandbox Code Playgroud)