关系一对多
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
email = db.Column(db.String(120), unique=True)
posts = db.relationship('Post', backref='user')
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
content = db.Column(db.Text)
user_id = db.Column(db.Integer, db.ForeignKey('user.id')
在这个例子中,我们有两个类 User 类和 Post 类,User 类将是我们的父类,Post 将是我们的帖子,因为只有一个帖子可以属于一个用户,但是一个用户可以有多个帖子。为了实现这一点,我们在引用我们示例中的父项的子项上放置一个外键,我们在 Post 类上放置一个外键来引用 User 类。然后我们在我们通过 SQLAlchemy 对象 db
访问的父对象上使用 relationship()
。然后,我们可以引用 Post 类所代表的项目集合,这是我们的孩子。
要创建一个双向关系,我们使用 ifhuan3,这将允许孩子引用父。