0
是否有可能做這樣的事情?Mongoengine引用其他文檔的字段
class Doc1:
fieldd1 = StringField()
class Doc2:
fieldd2 = ReferenceField(Doc1.fieldd1)
或者我應該只是參考的文件,然後拿到現場信息,每當我需要它
是否有可能做這樣的事情?Mongoengine引用其他文檔的字段
class Doc1:
fieldd1 = StringField()
class Doc2:
fieldd2 = ReferenceField(Doc1.fieldd1)
或者我應該只是參考的文件,然後拿到現場信息,每當我需要它
這不是更多鈔票,這是關於文件。要獲得fieldd1
,你必須做到:
class Doc1(Document):
fieldd1 = StringField()
class Doc2(Document):
fieldd2 = ReferenceField(Doc1)
Doc2.objects.first().fieldd2.fieldd1
如果你想只包括到另一個文件作爲一個文檔的一部分,然後再看看EmbeddedDocument
和EmbeddedDcoumentField
:
class Doc1(EmbeddedDocument):
fieldd1 = StringField()
class Doc2(Document):
fieldd2 = EmbeddedDcoumentField(Doc1)
Doc2.objects.first().fieldd2.fieldd1
但你總是可以設置自己的屬性:
class Doc1(Document):
fieldd1 = StringField()
class Doc2(Document):
fieldd2 = ReferenceField(Doc1)
@property
def fieldd1(self):
return self.fieldd2.fieldd1
Doc2.objects.first().fieldd1
查看文檔:https://mongoengine-odm.readthedocs.org/en/latest/guide/defining-documents.html。