在Flask中设置一个管+SQLAlchemy的关系

2024-06-01 01:45:27 发布

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

我试图在两个表之间建立一个关系,这允许我访问obj1.obj2.name,其中obj1是一个表,obj2是另一个表。关系是一对一(一个人对一个地理区域)

# Table one (Person)
class Person(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  name = db.Column(db.String(100))
  region = db.Column(db.Integer, db.ForeignKey('region.id'))

# Table two (Region)
class Region(db.Model):
  id = db.Column(db.Integer, primary_key=True)
  name = db.Column(db.String(50))

如果我使用Person.region(其中Person是Person类的对象),我将获取用户区域的主键的int,但我希望获取与之关联的“name”字段。

我想这是可行的:

region = models.Region.query.filter_by(id=REGION_ID).first().name

但它不适用于我的情况,因为我需要从烧瓶模板访问“name”字段。

有什么想法吗?


Tags: nameid区域dbmodel关系tablecolumn