؛SQLModel کتابخونهای از تیم FastAPI هست که با استفاده از type annotationهای پایتون، کار با پایگاهدادهی SQL رو سادهتر میکنه.
🚀 مثال
from sqlmodel import Field, SQLModel
class Hero(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
name: str
secret_name: str
age: int | None = None
فقط با همین چند خط:
✅ یه جدول SQL ساخته شد
✅ یه مدل Pydantic برای validation داری
✅ یه ORM برای کوئری زدن داری
🔧 استفاده در FastAPI
from fastapi import FastAPI, Depends
from sqlmodel import Session, select
from .models import Hero
app = FastAPI()
# ساخت session
def get_session():
with Session(engine) as session:
yield session
@app.post("/heroes/")
def create_hero(hero: Hero, session: Session = Depends(get_session)):
session.add(hero)
session.commit()
session.refresh(hero)
return hero
@app.get("/heroes/")
def read_heroes(session: Session = Depends(get_session)):
heroes = session.exec(select(Hero)).all()
return heroes
🎯 ویژگیهای کلیدی
🔗 یکپارچگی با Pydantic
؛validation خودکار با همان type hints
🔗 یکپارچگی با SQLAlchemy
تمام قابلیتهای ORM در دسترس
⚡ سازگاری کامل با FastAPI
🪶 کد کمتر
یک مدل به جای دو مدل جداگانه
خطاها در زمان توسعه گرفته میشن
مناسب برای پروژههای بزرگ
📦 نصب
pip install sqlmodel🔗 لینک گیتهاب:
https://github.com/fastapi/sqlmodel
مستندات:
https://sqlmodel.tiangolo.com/
🆔 @python4all_pro
🧩لینک کانال در بله 👇👇
https://ble.ir/Python4all_pro