2013-07-02 7 views

Répondre

6

Cela ne et il est posible référence au document. Pour obtenir fieldd1 vous devez faire:

class Doc1(Document): 
    fieldd1 = StringField() 

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

Doc2.objects.first().fieldd2.fieldd1 

Si vous voulez simplement inclure le document à un autre dans le cadre d'un document de regarder puis à EmbeddedDocument et EmbeddedDcoumentField:

class Doc1(EmbeddedDocument): 
    fieldd1 = StringField() 

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

Doc2.objects.first().fieldd2.fieldd1 

Mais vous pouvez toujours définir propres propriétés:

class Doc1(Document): 
    fieldd1 = StringField() 

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

    @property 
    def fieldd1(self): 
     return self.fieldd2.fieldd1 

Doc2.objects.first().fieldd1 

Voir documentation: https://mongoengine-odm.readthedocs.org/en/latest/guide/defining-documents.html.

Questions connexes