跳转到主要内容

将SQLAlchemy与Flask集成。

项目描述

Flask-SQLAlchemy-Lite

SQLAlchemyFlask集成。使用Flask的配置来定义SQLAlchemy数据库引擎。创建SQLAlchemy ORM会话,请求完成后自动清理。

旨在替代Flask-SQLAlchemy。与之前的扩展不同,这个扩展不尝试管理模型基类、表、元数据或会话的多个绑定。这使得扩展变得更加简单,让开发者可以使用标准的SQLAlchemy。

简单示例

from flask import Flask
from flask_sqlalchemy_lite import SQLAlchemy
from sqlalchemy import select
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column


class Base(DeclarativeBase):
    pass


class User(Base):
    __tablename__ = "user"
    id: Mapped[int] = mapped_column(primary_key=True)
    username: Mapped[str] = mapped_column(unique=True)


app = Flask(__name__)
app.config["SQLALCHEMY_ENGINES"] = {"default": "sqlite:///default.sqlite"}
db = SQLAlchemy(app)

with app.app_context():
    Base.metadata.create_all(db.engine)

    db.session.add(User(username="example"))
    db.session.commit()

    users = db.session.scalars(select(User))

由以下支持