加载相关表|FlaskSQLAlchemy的所有列

2024-06-26 00:06:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下炼金术模式。一个区域可以有多个AsmStore与之关联,我想在查询区域时加载相关实体(AsmStore)的所有列。我尝试过使用许多方法来配置关系加载,但似乎没有一种是有效的。我总是只得到相关的存储ID,而没有得到结果JSON中下面给出的其他属性

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\u by(id=territoryid).first()

结果JSON:

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

}

我是否错误地设置了实体?如果是,请告知更正


Tags: key实体idjson区域dbstringmodel