加载相关表的所有列Flask-SqlAlchemy

时间:2019-05-13 08:16:25

标签: python flask-sqlalchemy

我有以下Flask-SqlAlchemy模式。一个地区可以有多个与之关联的AsmStore,并且我想在查询地区时加载相关实体(AsmStore)的所有列。我尝试使用许多方法来配置关系加载,但是似乎没有任何工作。在得到的JSON中,我总是只得到相关的商店ID,而没有下面给出的其他属性。

class AsmStore(Model):
      __tablename__ = "asmstore"
      id = db.Column(db.Integer, primary_key=True)
      name = db.Column(db.String(255))
      storelatitude = db.Column(db.String(255))
      storelongitude = db.Column(db.String(255))
      territoryid = db.Column(
            db.Integer, db.ForeignKey("territory.id"), nullable=False
      )


class Territory(Model):
      __tablename__ = "territory"

      id = db.Column(db.Integer, primary_key=True)
      name = db.Column(db.String(255))
      centrallatitude = db.Column(db.String(255))
      centrallongitude = db.Column(db.String(255))
      depotlatitude = db.Column(db.String(255))
      depotlongitude = db.Column(db.String(255))
      ideallatitude = db.Column(db.String(255))
      ideallongitude = db.Column(db.String(255))
      areaid = db.Column(db.Integer, db.ForeignKey("area.id"), nullable=False)
      storelist = db.relationship("AsmStore", backref="territory")

查询:

territory = Territory.query.filter_by(id = territoryid).first()

结果JSON:

{
"data": {
    "centrallatitude": "",
    "id": 1,
    "storelist": [
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11
    ]
}

}

我是否正确设置了实体?如果是这样,请告知纠正。

0 个答案:

没有答案