我有一个Project
,其中包含Region
的外键。我想显示项目的区域名称。我只能得到该地区的id。如何从name
访问Region
的{{1}}属性?
Project
class Project(db.Model):
id = db.Column(db.Integer, primary_key=True)
region = db.Column(db.Integer, db.ForeignKey('regions.id'))
class Region(db.Model):
name = db.Column(db.String(30))
id = db.Column(db.Integer, primary_key=True)
@deliverables.route('/<int:cid>')
def deliv_view(cid):
projects = Project.query.filter(Project.id == cid).all()
return render_template('ginn/deliview.html', projects = projects)
{{ project.region }}
答案 0 :(得分:3)
在Project
和Region
之间定义外键列。然后在两者之间定义relationship以直接访问其他模型。
class Region(db.Model):
id = db.Column(db.Integer, primary_key=True)
class Project(db.Model):
id = db.Column(db.Integer, primary_key=True)
region_id = db.Column(db.ForeignKey(Region.id), nullable=False)
region = db.relationship(Region, backref='projects')
project = Project.query.get(1)
print(project.region.name)
这个以及许多其他有用的技术都在quickstart中进行了描述,并在整个文档中进行了更深入的介绍。