📡 You're offline — showing cached content
New version available!
Quick Access
Tutorials Flask Web Framework Flask DB Relationships

Flask DB Relationships

5 min read
Define one-to-many and many-to-many SQLAlchemy relationships with backref and joinedload.

SQLAlchemy Relationships

class User(db.Model):
    posts = db.relationship("Post", backref="user", lazy="dynamic",
                            cascade="all, delete-orphan")

post_tags = db.Table("post_tags",
    db.Column("post_id", db.Integer, db.ForeignKey("post.id")),
    db.Column("tag_id",  db.Integer, db.ForeignKey("tag.id")),
)

# Eager loading
posts = Post.query.options(
    db.joinedload(Post.user),
    db.subqueryload(Post.tags)
).all()