2017-12-30 13 views
-1

에 다른 모델을 포함하는는 어떻게하여 MongoDB에서이 데이터베이스가 장고

picture:"http://placehold.it/150x150" 
name:"Gushkool" 
email:"[email protected]" 
city:"Rabat" 
location:Object 
     type:"Point" 
     coordinates:Array 
        0:-6.81134 
        1:33.95564 

나는이 데이터베이스와 같은 모델을 생성하려면이 내 샷 :

class location(Document): 
    type = fields.StringField() 
    coordinates = fields.StringField() 

class products(Document): 
    picture = fields.StringField() 
    name = fields.StringField() 
    email = fields.StringField() 
    city = fields.StringField() 
    location = ReferenceField(location) 

답변

0

클래스 mongoengine.fields .EmbeddedDocumentField (document_type, ** kwargs)

선언 된 docu가있는 문서 필드 ment_type. 유효한 값은 EmbeddedDocument의 서브 클래스뿐입니다.

변화 모델에 :

class location(EmbeddedDocument): 
    type = fields.StringField() 
    coordinates = fields.ListField() 

class products(Document): 
    picture = fields.StringField() 
    name = fields.StringField() 
    email = fields.StringField() 
    city = fields.StringField() 
    location = fields.EmbeddedDocumentField('location') 

하고보기

lct = location(type="test") 
#lct.save() don't use save 
prt = products(picture="aaa",name="aaa",email="aaa",city="aaa") 
prt.location= lct 
prt.save()