【发布时间】:2022-01-24 19:53:28
【问题描述】:
在我的问题中,假设一个人可以有多个地址,每个地址可以有一个位置。
是否可以查询 Person 包含与其位置相连的地址?
class Person(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
addresses = db.relationship('Address', backref='person', lazy=True)
class Address(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(120), nullable=False)
person_id = db.Column(db.Integer, db.ForeignKey('person.id'),
nullable=False)
location_id = db.Column(db.Integer, ForeignKey('location.id'))
class Location(db.Model):
id = db.Column(db.Integer, primary_key=True)
location_name = db.Column(db.String(50), nullable=False)
address = relationship("Address", uselist=False, backref="location")
因此,当我循环人员时,我可以同时从地址和位置访问数据:
for person in persons:
person.addresses.location_name
【问题讨论】:
标签: python sqlalchemy