如何在django中将模型包含到另一个

时间:2017-12-30 16:40:55

标签: python django

我在mongodb中有这个数据库

picture:"http://placehold.it/150x150"
name:"Gushkool"
email:"leilaware@gushkool.com"
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)

1 个答案:

答案 0 :(得分:0)

  

class mongoengine.fields.EmbeddedDocumentField(document_type,** kwargs)

嵌入式文档字段 - 带有声明的document_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()