-->

Mongoengine参考其他文档的场(Mongoengine reference another

2019-10-18 08:01发布

是否有可能做这样的事情?

class Doc1:
    fieldd1 = StringField()

class Doc2:
    fieldd2 = ReferenceField(Doc1.fieldd1)

或者我应该只是引用文档,然后拿到现场信息,每当我需要它

Answer 1:

这不是更多钞票,这是关于文件。 要获得fieldd1你必须做到:

class Doc1(Document):
    fieldd1 = StringField()

class Doc2(Document):
    fieldd2 = ReferenceField(Doc1)

Doc2.objects.first().fieldd2.fieldd1

如果你只想包括到另一个文件作为一个文档的一部分,然后再看看EmbeddedDocumentEmbeddedDcoumentField

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 。



文章来源: Mongoengine reference another document's field