我在mongo引擎中有一个文档,它有一个嵌入式文档。这是我的模特:
Problem
现在我想从Result
模型访问 $ sudo Docker commit 2a1aef6a0547
。我该怎么办?
答案 0 :(得分:2)
EmbeddedDocument
和Document
之间的根本区别在于EmbeddedDocument
仅存在于Document
内部。
EmbeddedDocument
是一个Document
,它不是 存储在自己的收藏集中中。通过EmbeddedDocuments
字段类型,EmbeddedDocumentField
应该用作文档上的字段。
因此EmbeddedDocument
不能具有主键,EmbeddedDocument
只是文档内部的字典。在documentation
id = ObjectId()
这不是字段的声明。 there列出了所有可能的字段。由于要声明主键字段,因此需要在字段的参数中使用primary_key=True
。
problem = ReferenceField('Problem')
EmbeddedDocument
不能被引用,因为它不是字段。因此,声明嵌入字段的正确方法如下所示:problem = EmbeddedDocumentField(Problem)