SQLite 与 Flask-SQLAlchemy 入门
定义模型
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(200), nullable=False)
body = db.Column(db.Text, nullable=False)
查询数据
# 查询所有已发布文章
posts = Post.query.filter_by(published=True).all()
# 按 slug 查单篇
post = Post.query.filter_by(slug="my-post").first_or_404()
增删改
# 新增
post = Post(title="Hello", body="World", author_id=1)
db.session.add(post)
db.session.commit()
# 删除
db.session.delete(post)
db.session.commit()
数据库迁移
flask db init
flask db migrate -m "add post table"
flask db upgrade