FastAPI中怎么使用ORM

   2024-10-19 7010
核心提示:在FastAPI中使用ORM,一般情况下会使用SQLAlchemy作为ORM框架。以下是一个简单的示例:首先,安装SQLAlchemy和相应数据库驱动:p

在FastAPI中使用ORM,一般情况下会使用SQLAlchemy作为ORM框架。以下是一个简单的示例:

首先,安装SQLAlchemy和相应数据库驱动:
pip install sqlalchemypip install databasespip install psycopg2
创建一个数据库连接:
from databases import Databasefrom sqlalchemy import create_engineDATABASE_URL = "sqlite:///./test.db"database = Database(DATABASE_URL)# 创建数据库引擎engine = create_engine(DATABASE_URL)
创建一个基础的模型类:
from sqlalchemy import Column, Integer, Stringfrom sqlalchemy.ext.declarative import declarative_baseBase = declarative_base()class User(Base):    __tablename__ = "users"        id = Column(Integer, primary_key=True, index=True)    name = Column(String)    email = Column(String, unique=True)
创建数据库表和连接数据库:
from sqlalchemy.orm import sessionmaker# 创建数据库表Base.metadata.create_all(engine)# 创建SessionSessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)# 创建一个函数来获取数据库会话def get_db():    db = SessionLocal()    try:        yield db    finally:        db.close()
在FastAPI中使用ORM:
from fastapi import FastAPI, Dependsfrom sqlalchemy.orm import Sessionfrom models import Userfrom database import get_dbapp = FastAPI()# 创建用户@app.post("/users/")def create_user(name: str, email: str, db: Session = Depends(get_db)):    user = User(name=name, email=email)    db.add(user)    db.commit()    db.refresh(user)    return user# 获取用户@app.get("/users/{user_id}")def get_user(user_id: int, db: Session = Depends(get_db)):    return db.query(User).filter(User.id == user_id).first()

以上是一个简单的FastAPI与SQLAlchemy ORM结合使用的示例。你可以根据自己的需求进一步扩展和优化。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号