我有以下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
]
}
}
我是否正确设置了实体?如果是这样,请告知纠正。