| name | api-reference |
| description | Use when the user asks for "SQLAlchemy API reference", "SQLAlchemy Column types", "SQLAlchemy session methods", "db.session API", "SQLAlchemy relationship options", or needs specific SQLAlchemy framework API details.
|
| disable-model-invocation | true |
SQLAlchemy API Reference
Curated SQLAlchemy 2.0+ API. For full docs, see https://docs.sqlalchemy.org/
Column Types
db.Column(db.Integer)
db.Column(db.String(N))
db.Column(db.Text)
db.Column(db.Boolean)
db.Column(db.Float)
db.Column(db.Numeric(10, 2))
db.Column(db.Date)
db.Column(db.Time)
db.Column(db.DateTime)
db.Column(db.LargeBinary)
db.Column(db.JSON)
db.Column(db.Enum('a', 'b'))
Column Options
db.Column(db.Integer, primary_key=True)
db.Column(db.String(100), nullable=False)
db.Column(db.String(120), unique=True)
db.Column(db.String(20), default='new')
db.Column(db.DateTime, default=func.now())
db.Column(db.Integer, index=True)
db.Column(db.Integer, db.ForeignKey('table.id'))
Session Methods
db.session.add(obj)
db.session.add_all([a, b, c])
db.session.delete(obj)
db.session.commit()
db.session.rollback()
db.session.flush()
db.session.get(Model, pk)
db.session.execute(stmt)
db.session.merge(obj)
db.session.refresh(obj)
db.session.expunge(obj)
Relationship Options
db.relationship('Model',
backref='parent',
back_populates='children',
lazy=True,
cascade='all, delete-orphan',
uselist=False,
order_by='Model.name',
foreign_keys=[Model.parent_id],
secondary=association_table,
)
Query Methods (Flask-SQLAlchemy)
Model.query.all()
Model.query.first()
Model.query.get_or_404(id)
Model.query.filter_by(k=v)
Model.query.filter(Model.k == v)
Model.query.order_by(Model.k.desc())
Model.query.limit(10)
Model.query.offset(20)
Model.query.count()
Model.query.paginate(page=1, per_page=20)
Model.query.with_entities(Model.name)
Aggregate Functions
from sqlalchemy import func
func.count(Model.id) func.sum(Model.amount) func.avg(Model.price)
func.min(Model.date) func.max(Model.date)
For Alembic migration API, async, and advanced patterns, see references/advanced-api.md.