Jar*_*oke 1 django mongodb mongoengine
可以这样做吗?
class Doc1:
fieldd1 = StringField()
class Doc2:
fieldd2 = ReferenceField(Doc1.fieldd1)
Run Code Online (Sandbox Code Playgroud)
或者我应该只引用Doc,然后在需要时获取字段信息
这是不可能的,它是对文件的参考.为了让fieldd1你必须这样做:
class Doc1(Document):
fieldd1 = StringField()
class Doc2(Document):
fieldd2 = ReferenceField(Doc1)
Doc2.objects.first().fieldd2.fieldd1
Run Code Online (Sandbox Code Playgroud)
如果你只想包括到另一个文件作为一个文档的一部分,然后看看EmbeddedDocument和EmbeddedDcoumentField:
class Doc1(EmbeddedDocument):
fieldd1 = StringField()
class Doc2(Document):
fieldd2 = EmbeddedDcoumentField(Doc1)
Doc2.objects.first().fieldd2.fieldd1
Run Code Online (Sandbox Code Playgroud)
但是你总是可以设置自己的属性:
class Doc1(Document):
fieldd1 = StringField()
class Doc2(Document):
fieldd2 = ReferenceField(Doc1)
@property
def fieldd1(self):
return self.fieldd2.fieldd1
Doc2.objects.first().fieldd1
Run Code Online (Sandbox Code Playgroud)
请参阅文档:https://mongoengine-odm.readthedocs.org/en/latest/guide/defining-documents.html.
| 归档时间: |
|
| 查看次数: |
2208 次 |
| 最近记录: |