如何在MongoEngine Flask中附加到EmbeddedDocumentListField?

问题描述

我正在尝试将其他信息附加到现有列表中,但我收到了一条错误消息。

错误:4。无效的嵌入式文档实例提供给 EmbeddedDocumentField:['family']

class Family(db.EmbeddedDocument):
    name = db.StringField()
    # gender = db.StringField()

class House(db.Document):
    house_id = db.IntField(required=True,unique=True)
    housingType = db.StringField(required=True)
    family = db.EmbeddedDocumentListField(Family)

    def to_json(self):
        return {
            "house_id": self.house_id,"housingType": self.housingType,"family_members": self.family
        }


@app.route('/api/add_family/<h_id>',methods=['POST'])
def add_family(h_id):
    content = request.json
    h = House.objects(house_id=h_id).get()
    h.family.append(content['family'])
    h.save()
    return make_response("Added family member successfully",201)

我要实现的目标如下:

Current data:

{
  'house_id': 1,'family': [{'name': 'John','Gender': 'Male'}]
}


After appending,it should look like this:

{
  'house_id': 1,'family': [{'name': 'John,'Gender': 'Male'},{'name': 'Peter','Gender': 'Male'}]
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)