python - MongoAlchemy 中的数组定义建模

标签 python mongodb flask mongoalchemy

我尝试在 Flask 中为我的 MongoAlchemy 类建模。这是我的模型:

{
    "_id" : ObjectId("adfafdasfafag24t24t"),
    "name" : "sth."
    "surname" : "sth."
    "address" : [
     {
      "city" : "Dublin"
      "country" : "Ireland" 
   }
  ]
}

这是我的 Documents.py 类:

   class Language_School(db.Document):
        name = db.StringField()
        surname = db.StringField()
        address = db.???

如何在 Flask 中像数组模型(地址)一样定义它?

编辑:我已经像提问之前一样尝试过我的模型。但我遇到了像“AttributeError AttributeError:“列表”对象没有属性“项目”。

class Address(db.Document):
    city = db.StringField()
    country = db.StringField()

class Language_School(db.Document):
    name = db.StringField()
    surname = db.StringField()
    address = db.DocumentField(Address)

最佳答案

您询问的是 ListField据我了解。

虽然,我不确定你是否真的需要一个列表来存储地址,为什么不使用特殊的文档类型 - DocumentField ,按照示例 here :

class Address(Document):
    street_address = StringField()
    city = StringField()
    state_province = StringField()
    country = StringField()

class User(Document):
    name_index = Index().ascending('name').unique()
    name = StringField()
    email = StringField()

    address = DocumentField(Address)

    def __str__(self):
        return '%s (%s)' % (self.name, self.email)

关于python - MongoAlchemy 中的数组定义建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38377813/

相关文章:

node.js - 将 created_at 和 updated_at 字段添加到 Mongoose 模式

python - Flask WTForms Integerfield 类型是文本而不是数字

python - 在 Python 启动时避免全局变量和加载模型

python - 如何将算法转换为python

javascript - 可以使用 scrapy 从使用 AJAX 的网站中抓取动态内容吗?

python - 修改冷却装饰器以用于方法而不是函数

python - 将 db.collection.drop() 中的 'collection' 解释为变量与设置数据库

mongodb - 盒内地理空间查询中的 Mongoose 无法正常工作

python-3.x - 通过 pip : Unable to find vcvarsall. bat 安装flask-bcrypt

python - 调用 pyplot.show() 后保存图形会导致一个空文件